git各阶段版本回退命令
1. 工作区的代码改动不想要了(git add之前)
2. git add以后放入暂存区的代码修改不想要了
3. git commit提交到本地仓库的代码不想要了
看上面的git log,每一次commit提交日志都生成一个commit id,如果修改刚提交的修改想回退,那么通过上面的commit id就可以(commit id不需要写全,前几位能区分不同的commit id就可以),命令如下:
实际上,上面的git reset --hard commit_id是把本地仓库分支版本上的HEAD指针进行了移动,实际上没有删除任何内容,如果上面的代码回退你后悔了,可以用git reset --hard继续返回到之前的版本上,但是之前版本的commit id在哪里看呢?可以用git reflog命令,如下:
看到了吧,我又回来啦!
4. 远程仓库的代码修改不想要了,有两种方法:
a、git pull,在本地分支最新的代码版本上删除之前修改的,然后重新push到远程代码仓库上
b、在本地分支上通过git reset --hard xxx回退到之前的版本,然后通过git push -f推送覆盖远程代码仓库