G1-B1-G2-G3-G4-G5-G6-G7-B2-G8-G9
我已经在master
中进行了上述提交。
恢复B1的最好方法是什么?和B2从上面承诺?
并重新推送到master
。
重置和精挑细选似乎相当多的工作。
我只是想找一个更好更简单的方法来做这件事。
最干净的方法是发出两个git revert
命令:
git revert B1
git revert B2
这将创建两个新的提交,B1和B2的负映像,允许您执行简单的git推送(不需要强制,不需要"历史重写")
如果您想保留提交但恢复其更改,请参阅VonC的答案。
如果你想重写历史记录并删除这些提交,就像它们从未存在过一样,你可以使用交互式rebase:
git rebase -i G1
在文本编辑器中删除B1和B2行,保存,退出,它们将从历史记录中删除。在重写历史记录时,需要注意以下几点: