-1

我的项目有两个主要分支 -master用于 Web 应用程序的“生产”版本,以及用于应用程序X的“测试”版本的分支。

我需要在这两个分支中保持与部署设置、数据库配置、Google Web Analytic ID 等相关的一些代码调整彼此分开,并防止它们git merge X在 master 上发生或git merge master在分支 X 上执行时被合并。

有没有一种可靠的方法可以做到这一点,即将一些提交标记为“仅用于这个分支”?

4

2 回答 2

3

Simple answer : not trivially.

Instead, you can either :

  • Cherry pick each commit, excluding the marked ones (a keyword in commit message for example)
  • Make a second branch without these commits and regularly merge it with the branch including them. Merge the "bad commits free" branch with master and the new one.
于 2012-04-18T16:44:05.307 回答
1

这并不理想,但我的一个项目中有类似的场景。我的解决方案是改为维护三个分支——master、devel 和 config。config 分支从 devel 上的某个点分支,并且仅包含配置内容(因此得名)。然后我可以按照你的指示在 master 和 devel 之间开发和合并,当我需要测试时,我使用 rebase 将 config 分支移到 devel 的尖端。

它有点麻烦,特别是如果你喜欢在开发中测试每个提交,而不是仅仅定期测试,但它至少是功能性的。

于 2012-04-18T21:29:50.827 回答