场景
提交了不该提交的代码,导致项目跑不起来,或跑起来有问题,需要撤回该次提交。
普通 commit 回退
git revert commit_id 即可。
merge commit 回退
-
git log 查看是哪两个 commit (那两条历史)进行了 merge
-
如果要回到 1 的历史(可以先 git log 确认下),
git revert commit_id -m 1 -
如果要回到 2 的历史,
git revert commit_id -m 2
小提示
merge 的时候,最好加上 --no-ff 选项,这样,每次的 merge 都会有一条 merge commit,可以用于回退。否则的话,fast forward merge 不会产生 merge 记录,要回退就比较麻烦。