git 版本回退方法
ORIG_HEAD 某些操作,例如 merage / reset 会把 merge 之前的 HEAD 保存到 ORIG_HEAD 中,以便在 merge 之后可以使用 ORIG_HEAD 来回滚到合并之前的状态(在分支合并的时候,产生了冲突,如果已经修改了冲突,并产生了新的提交,但是冲突解决的有问题,想要还原之前的状态重新合并,这时可以使用 git reset --hard ORIG_HEAD
来还原到合并之前的状态)
参考:https://www.jianshu.com/p/c2ec5f06cf1a reset
流程图https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%87%8D%E7%BD%AE%E6%8F%AD%E5%AF%86
1.reset
用git log 查看commitId,然后用git revert --hard 【commitID】,然后git push -f [remoteName] [branchName]
若不用--hard git revert HEAD^会有冲突要解决,要修改后git add /commit /push - f 后生
2.revert
通过revert反做一个版本,git revert是用于“反做”某一个版本,以达到撤销该版本的修改的目的
比如,我们commit了三个版本(版本一、版本二、 版本三),突然发现版本二不行(如:有bug),想要撤销版本二,但又不想影响撤销版本三的提交,就可以用 git revert 命令来反做版本二,生成新的版本四,这个版本四里会保留版本三的东西,但撤销了版本二的东西
git revert -n 版本号(-n是--no-commit如果不带这个参数会自动提交一条commit) git revert --abort 取消 git commit -m 版本名 git push 即可
https://www.jianshu.com/p/5e7ee87241e4
git revert --no-commit xxx..xxx这样可以回退