我有一个功能分支,我们称之为“myfeature”,我一直在研究它。客户希望我把它放在测试站点上,所以我将它 merge 到“staging”分支并推送到原点。从那时起,我在“staging”分支上进行了多次提交。今天,客户决定不再需要“myfeature”。
如何撤消我之前多次提交的 merge ?我仍然有“myfeature”分支。我基本上想获取该分支中的所有更改,并将它们从“staging”分支中 pull 出,并保存“newfeature”以供下次使用。
最佳答案
您可以使用git revert
来恢复 merge ,但您必须指定(通过-m
选项)您想要的 merge 提交的父编号恢复。假设您有这样的历史:
c1--c2----------c5--c6--c7
\--c3--c4--/
merge 提交是c5
。您可以通过以下方式恢复 merge :
$ git merge -m 1 c5
通常主分支是第一个父分支,因此-m 1
通常有效。
提供更多信息 here .
关于git - 撤消 git merge 几个之前的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8491072/