Git:如何防止特定提交合并到另一个分支?

时间:2016-04-05 21:03:41

标签: git merge

我们公司的Git工作流程如下:我们有一个master分支,一些feature/*分支用于开发新功能,这些功能在作业完成后合并回master,还有release/*个分支机构。这些分支是在产品发布之前创建的,专为错误修复而设计,没有新功能,然后这些错误修复会偶尔合并到master分支。

有时,release/*分支中的特定提交是我们想要合并回master的更改:例如,当版本号递增时。由于分支中还有其他重要的修复,因此 迟早会将本地提交合并到master中,从而破坏主分支中的某些内容。

当前"解决方案"我知道在本地提交完成后立即将release/*分支合并到master恢复本地提交然后推送。它有点工作,但历史不干净。此外,这不会阻止将本地提交合并到另一个分支而不是master

在描述的工作流程中有没有更好的方法来解决这个问题?

2 个答案:

答案 0 :(得分:3)

据我所知,如果没有合并所有的父提交,就不可能在提交中合并,这听起来就像你想要做的那样。

但是,对您的工作流程进行细微更改可以解决此问题。

here模型类似,您可以创建hotfix/*分支来修复错误,而不是直接提交到release分支。此分支可能基于master(在第一次提交时是任何相关release分支的父级),并且应该合并到master以及任何{{}它会影响分支。

这样,release分支永远不需要合并到release中,并且可以保留用于特定于发行版的修复。

答案 1 :(得分:0)

为什么不将release/*分支上的错误修复隔离为单独提交(即没有发布版本更新),然后将这些提交挑选到master,如同很好地描述{{3 }}?