如何从Git中的主分支中排除特定的合并分支的提交?

时间:2017-08-28 08:33:49

标签: git version-control merge cherry-pick

我有一个主人和一个开发分支。功能和修补程序分支合并到开发中,并且不时的开发被合并到主服务器中。现在我有一个请求从主分支中排除特定的修补程序。这有可能吗?这是一个相对较旧的修补程序分支,所以从那时起我有超过30个合并开发。或者我应该创建一个新的分支,手动还原更改并将其合并到master?

1 个答案:

答案 0 :(得分:1)

您只需要将旧hotfix合并到develop分支的提交还原。

如下图所示,您要在master分支上排除的旧修补程序是从提交F到提交G的提交。

A---B------------------I---…       master
     \                /
       C---D---E--…--H---…         develop
            \       /     \
             F--…--G        J--…   hotfix/feature

您可以使用以下方式排除hotfix分支上的旧master

首先,找到旧hotfix合并到develop分支的合并提交。作为开发分支上的合并提交H

然后还原master分支上的更改:

git checkout master
git revert -m 1 <commit id for H>

注意:如果在还原合并的更改时出现冲突,您可以修改并保存冲突文件,并git add .git revert --continue完成还原。< / p>