1.git revert(通过反做创建一个新的版本,这个版本的内容与我们要回退到的目标版本内容一样,单head指针是指向这个新生成的版本)(撤销指定版本的内容并提交一个新的commit,不影响之前的提交内容) 适用场景:如果我们想恢复之前的某一个版本(该版本不是merge类型),但是又想保留目标版本后面的内容,记录下整个版本变动流程。 git revert -n 版本号 git commit -m git push git revert HEAD #撤销前一次commit git revert HEAD^ #撤销前前一次commit git revert commit-id #撤销指定commit-id revert有冲突,解决冲突并执行git revert --continue 不想解决冲突可以取消撤回git revert --abort
2.git reset(修改HEAD位置,即将HEAD只想的位置改变为之前存在的某个版本) 适用场景:如果想恢复到之前某个提交的版本,且那个版本之后提交的版本都不要了。 git reset --hard 目标版本号 git push -f(因为本地库HEAD指向的版本比远程库的要旧,所以强制推上去)
3.Git回滚merge操作
查看merge操作的上一个提交记录的版本号
git reflog
回滚到merge之前的状态
git reset --hard 版本号
相互学习,共同进步!