我有一个master和一个develop分支。Feature和修补程序分支被合并到develop中,并且不时地develop被合并到master中。现在我有一个从master分支中排除特定修补程序的请求。这有可能吗?这是一个相对古老的修补程序分支,所以从那时起,我有30多个合并到develop中。或者我应该创建一个新的分支,手动恢复更改并将其合并到master?
您只需要恢复旧hotfix
合并到develop
分支的提交。
假设如下图所示,您希望在master
分支上排除的旧修补程序是从提交F
到提交G
的提交。
A---B------------------I---… master
/
C---D---E--…--H---… develop
/
F--…--G J--… hotfix/feature
您使用以下方式排除master
分支上的旧hotfix
:
首先,找到旧hotfix
合并到develop
分支的合并提交。作为合并,在开发分支上提交H
。
然后恢复master
分支上的更改:
git checkout master
git revert -m 1 <commit id for H>
注意:如果在恢复合并后的更改时发生冲突,可以修改并保存冲突文件,然后git add .
和git revert --continue
完成恢复。