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

6
我们公司的Git工作流程如下:我们有一个master分支,一些用于开发新功能并在完成后合并回masterfeature/*分支,以及release/*分支。这些分支是在产品发布之前创建的,旨在进行错误修复,不包含新功能,然后将这些错误修复偶尔合并回master分支。
有时候,在release/*分支中的某个特定提交是我们不希望合并回master的更改:例如当版本号增加时。由于分支中还有其他重要的修复,肯定会有人早晚将该本地提交合并到master中,从而破坏主分支中的某些内容。
目前我所知道的“解决方案”是,在本地提交完成后立即将release/*分支合并到master中,撤消本地提交,然后推送。这种方法似乎可以解决问题,但历史记录不干净。此外,这并不能防止本地提交被合并到除master之外的其他分支中。
在描述的工作流程中,是否有更好的解决该问题的方法?
2个回答

4
据我所知,如果要合并提交,则必须同时合并其所有父提交,这似乎是您正在尝试做的事情。
但是,稍微更改您的工作流程可以解决此问题。
类似于Git Flow模型,您可以创建一个hotfix/*分支来修复错误,而不是直接提交到release分支。该分支可能应基于master(任何相关的release分支的第一个父提交),并且它应该合并到master以及它影响到的任何release分支中。
这样,release分支就永远不需要合并到master,可以保留用于特定于发布的修复。

0
为什么不将修复错误的提交(即没有包含发布版本更新)单独作为提交分离到release/*分支中,然后再通过“挑选”这些提交到master中呢?相关描述可以在此处找到。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接