git回滚的几种场景及操作命令

场景1: 本地还没有commit

git stash 
git stash drop

场景2: 删除未发布的提交
如果确定要删除某几个commit,并且那几个commit的代码还没有提交到远程版本库里的话,945a2f9为要回到的版本

git stash
git reset --hard 945a2f9
git stash pop

reset –hard 一定要慎用!!
这回让你彻底丢失本地的代码(除非有备份过)

场景3:删除已发布的提交
假设代码已经提交到远程版本库了,这时应该使用revert命令,revert命令实际是提交一个新的commit来回滚之前的commit。还是以945a2f9为例,现在想让代码会滚到945a2f9的状态,那么需要revert掉之前的commit

git revert e9d861e e565632 e1eccf9

或者可以这样做,revert掉HEAD的前三个commit

git revert HEAD~3..HEAD

之后就可以将现在的HEAD push到版本库了。
如果发现之前revert操作错了,可以再执行一次revert来取消上次的revert。

猜你喜欢

转载自blog.csdn.net/tszxlzc/article/details/62892845
今日推荐