Git标记特定于分支的提交并防止合并

时间:2012-04-18 16:37:30

标签: git git-branch branching-and-merging

我的项目有两个主要分支 - master用于网络应用的“生产”版本,分支X用于应用的“测试”版本。

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

是否有可靠的方法来做到这一点,即将某些提交标记为“仅针对此分支”?

2 个答案:

答案 0 :(得分:3)

简单回答:不是琐碎的。

相反,你可以:

  • Cherry选择每个提交,不包括标记的提交(例如,提交消息中的关键字)
  • 在没有这些提交的情况下创建第二个分支,并定期将其与包含它们的分支合并。将“bad commits free”分支与master和new合并。

答案 1 :(得分:1)

这不太理想,但我的一个项目中有类似的情况。我的解决方案是维护三个分支 - master,devel和config。 config分支从devel上的某个点开始分支,只包含配置内容(因此名称)。然后我可以指出master和devel之间的开发和合并,当我需要测试时,然后我使用rebase将config分支移动到开发的顶端。

这有点麻烦,特别是如果你是一个喜欢测试devel上的每个提交的人,而不是仅仅定期测试,但它至少是功能性的。