Gerrit中的Git分支有一个唯一的提交

时间:2014-06-24 13:35:12

标签: git branching-and-merging gerrit

我在Gerrit中有一个Git存储库,有两个分支:master和production。生产分支与master不同,只需一次提交,即重写配置文件。未来分支可能会有很大的不同,但它总是会以很少的提交形式进行非常孤立的变化。

我在Gerrit中设置了生产分支,我可以提交补丁以及所有这些。我所遇到的问题是让生产与主人保持同步。我尝试使用git merge --squash,但即使如此,我也遇到了大量的合并冲突。

这样做的正确公式是什么?我想避免两次向Gerrit提交每个补丁。我是否需要在Gerrit的背后投入以获得我想要的东西?

2 个答案:

答案 0 :(得分:2)

我会强烈重新考虑拥有一个生产部门。它只会导致心痛和持续的维护问题。

相反,您应该在主分支中拥有配置文件的生产和开发版本。您的代码将根据环境变量选择在运行时使用哪一个。

通过这种方式,您可以构建一个工件,在开发环境中对其进行测试,一旦您满意,您将向生产环境发布完全相同的工件。

答案 1 :(得分:0)

根据对您的问题的理解,您希望将所需的更改(已提交到生产分支)合并到主数据库,以使您的主数据保持最新。

您是否尝试过从生产分支到主分支的挑选。如果没有,请尝试一次。希望它能起作用。

假设您在生产分支中提交的补丁很少。 尝试使用以下命令来挑选这些补丁来掌握。

  

git cherry-pick commit1..commit2

如果发生更多合并冲突,你也可以逐个挑选。

  

git cherry-pick commit1

试一试!!