使用git reset回退版本

1、git log命令介绍

在介绍版本回退之前先介绍下如何git log命令,可以查看我们的提交历史记录。

git log 
	多页时,空格向下翻页,b向上翻页,q退出
git log --pretty=online
	简洁一些
git log --oneline
	更简洁一些
git reflog
	会显示到移动到某一版本需要多少步以及你的所有操作记录

2、git reset --hard回退版本

先看下我的提交记录

使用git reset回退版本_第1张图片

最新的提交中,我在main.cpp中添加了这两行代码

使用git reset回退版本_第2张图片

 此时,我们就可以使用git reset --hard命令进行版本回退

git reset --hard后面跟你要回退的那个版本的commit值,我们回退到 "配置文件提交" 那个版本。

使用git reset回退版本_第3张图片

使用git log查看,"main.cpp中添加指针" 这个记录已经没有了。

使用git reset回退版本_第4张图片

 查看main.cpp文件,可以看到已经回退到之前的状态了。

使用git reset回退版本_第5张图片

3、git reset --hard HEAD^回退版本

我们也可以直接使用git reset --hard HEAD^命令回退到上一个版本

使用git reset回退版本_第6张图片

 git reset --hard HEAD^^表示回退到上上一个版本,依次类推,这里就不演示了

4、git reset --hard HEAD~回退版本

git reset --hard HEAD~后面跟数字,就表示我们要回退多少步

我这里回退两步

使用git reset回退版本_第7张图片

5、版本回退错了如何恢复

 我这里有四次提交记录

现在回退到上一个版本

 

但是我们发现,回退错了,或者误操作了。d.txt文件已经被删除了。

 使用git reset回退版本_第8张图片

 不要着急,使用git reflog命令可以看到所有的提交记录和回退记录

使用git reset回退版本_第9张图片

 我们可以看到所有记录的commit值。有了commit值,我们就能恢复了。

使用git reset回退版本_第10张图片

 可以看到"d.txt文件提交" 这个记录又有了,d.txt文件又重新恢复了。

6、总结

如果是回退到上一步,建议直接使用命令git reset --hard HEAD^

如果回退版本较多时,建议直接使用命令git reset --hard 后面直接写要回退到那个版本的commit值

如果回退错误,可以使用git reflog查看所有记录,找到commit值进行版本恢复。

7、远程仓库的回退

我们把代码提交到远程仓库后,发现提交错了,就可以进行远程仓库的回退。

先看下远程仓库的信息

使用git reset回退版本_第11张图片

使用git reset回退版本_第12张图片

我已经把a.txt文件提交到了远程仓库,但发现提交错了。

不要着急,先进行本地仓库的回退

 使用git reset回退版本_第13张图片

然后使用git push -f命令强制推送到远程仓库

 

 再看下远程仓库的信息

使用git reset回退版本_第14张图片

a.txt文件已经没有了,回退到了上一个版本

使用git reset回退版本_第15张图片

你可能感兴趣的:(git,git)