您的位置:首页 > 其它

git——版本回退

2017-01-14 15:33 204 查看
前面讲了git添加和提交文件,但是如果提交错误,我们怎么回退呢?

       1、每次的commit,我们都可以通过命令来查看,使用git log来查看,如果想格式化提交命令,

  可以使用参数--pretty=oneline,如下图:

        


     前面一大长串字母数字,是提交时自动生成的commit ID,后面为提交时的备注。

2、我们必须知道当前处于什么版本

在git中,用HEAD来表示当前版本,也就是最新的提交。上一个版本就是HEAD^,上上一个版本就是HEAD^^,再往上就一直在后面加尖括号。当然如果太多,为了美观,我们可以使用HEAD~100.

3、我们要本当前版本回退到上一版,可以使用命令git reset命令。执行完成后查看文件内容:



文件内容变成上一个版本的内容了。

如果我们想回退到特定的版本,只要我们能知道那一版的commig ID,我们就可以直接使用commit ID回退。

比如,刚刚我们已经回到了备注是“add”的这一版,那我们想回到备注是“add hello world”这一版,执行命令:

git reset --hard 5dac916c,如下图



这里在使用commit ID的时候可以不用全部写全,git会自动匹配。但是你也不能写的太少,如果有相同的,git无法分辨。

到这里,git回退的方法都说完了,但是会有人问了, 如果我没有记住回退之前的版本的commit ID怎么办?这也有办法。git提供了使用git reflog来查询每一次提交的命令。



如上图,我们看到备注为“add hello world”的commit ID为5dac916

总结:

1、回退到上一版本:git reset --hard HEAD^

2、回退到某一个版本:git reset --hard commitID

上面两种都是撤销本地提交,如果要撤销远程仓库中版本:

[b]先撤销本地分支的版本,本地分支回滚后,版本将落后远程分支,必须使用强制推送覆盖远程分支,否则无法推送到远程分支。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git 分布式 版本控制