Git版本回退 初探
开心一刻
幽默笑话:如果半夜十二点,还在回你信息的话,这说明什么,说明我真的爱玩手机。
写在前面
Git虽好用,但是也经常让我在想回退版本的时候总是很头痛,不知道该用那个回退命令,这里记录一些弄清楚的使用命令,以便以后可以回顾回顾。
只修改了本地工作区代码
如果可以,使用ctrl+z回退。如果想要回退到上个版本,参考:
git restore file
git restore命令用来回滚暂存区中保存的内容,想要回滚某个特定的文件内容,就在后面加上文件的名字即可,如果有多个文件回滚,可以不加文件名字,表示想要回滚暂存区全部内容。
使用了git add命令,但是没有使用git commit命令
可以分两种情况:
一、丢弃git add添加到暂存区的内容,使用:
git reset HEAD
因为没有git push,所以HEAD指针没有移动,因此这里用HEAD
或者使用:
git restore --staged file
二、同时丢弃暂存区和工作区提交的内容,使用:
git reset --hard HEAD
使用了git commit命令,但是没有使用git push命令
可分三种情况:
一、仅丢弃本地仓库的本次提交,使用:
git reset --soft HEAD^
git push之后,HEAD指针移动了,因此回滚要用HEAD的前一个节点,也就是HEAD^
二、丢弃本地仓库和暂存库的内容,使用:
git reset HEAD
三、丢弃本地仓库、暂存库和工作区的内容,使用:
git reset --hard HEAD
还有最后一种git push的情况,我觉得比较麻烦,另写一篇记录,未完待续。。。