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