在我的 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/