django - 同一个项目,多个客户 git 工作流程

标签 django git github branch

在我的 first question 之后,我想确认我的案例中最好的 git 工作流程。

我有一个 django 项目,托管在 github 上,每个分支都有不同的克隆:customerA、customerB、demo...(想想网站)

分支共享相同的核心但具有不同的数据和设置(这些在 gitignore 中)

当我在 CustomerA 分支上工作时,我应该如何将一些错误更正复制到其他部署?

当我创建一个新的通用功能时,我会创建一个特殊的分支,然后将其 merge 到我的主分支中。然后,为了在“客户端”上部署,我将主分支 merge 到客户分支中。这是正确的方法吗?还是我应该 rebase ?

# from customerA branch
git fetch origin master
git merge origin master

此外,我还为每个客户创建了一个远程分支,这样我就可以将客户分支备份到 github。

这看起来是一个非常经典的问题,但我想我没有正确使用 git

谢谢。

朱.

最佳答案

我会在一个众所周知的地方有一个单一的项目仓库,其中包含一个带有通用代码的主分支,以及用于特定部署的分支(例如客户/A 客户/B 演示)。

然后我会为每个客户、演示服务器等从每个分支机构进行 checkout 。您可以使用单个项目存储库上的提交 Hook 让它们自动从各自的分支中提取。

每个开发人员都会有项目存储库的本地副本,进行本地工作,然后将内容推送回单个项目存储库。

挑战将是维护从 master 分支出来的分支并进行定期 merge ,以便转移不会随着时间的推移而增长。

我已经在网络上的某个地方看到这个解决方案的详细描述,但我无法很快再次找到它。一些关于将 git 用于暂存和生产 Web 服务器 IIRC 的博客文章。

关于django - 同一个项目,多个客户 git 工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1555405/

相关文章:

git - merge 还是 rebase ?如何最好地保持开发分支与主分支同步

Django - Ajax 注册

git - 恢复 git merge --abort 后删除的 git 文件

ruby-on-rails - Heroku 暂存站点上未显示新图像 Assets

git - 将项目从 github 克隆到 RStudio 时出现错误消息 "unable to get local issuer certificate"

powershell - 使用 PowerShell 使用 GitHub Api 进行基本身份验证

django - 如何在 Django 中创建通用相关链接(如评论/标签)

python - 如何为 django 管理员创建自定义页面?

国际网站的 django localflavor

git - 如何搜索 git 历史(镐),但不包括重命名