原文来自:http://smaij.com/git-%E7%89%88%E6%9C%AC%E5%9B%9E%E9%80%80/
如果我们修改了文件。提交到github 版本库后。发现代码有点错乱了。你想要回到上一个或者上两个版本中去。那么,很幸运,Github 提供有很方便的回滚功能。 我们通过一组实验来明了。 下面我commit 了三个版本。修改一个叫 test.php 的文件。 版本1:version 1.0
第一次修改的时候。 **********************
版本2:version 2.0
第二次修改的时候。 **********************
版本3:version 3.0
第三次修改的时候。 **********************
版本控制系统一个很重要的功能,当然就是管理各个版本间的问题了。Git 也是为了处理这个问题而诞生的,Git 中有一个命令可以查看历史记录。就是 git log 这个命令了。
这个命令显示的是提交的记录,在这里我修改了三次后提交了三次。最近一次是version 3.0 ,最早一次是version 1.0 。 到这里。你首先要知道你现在所处的是那个版本,如何回到那个版本。 在Git 中,使用命令 git reset 来操作进退。参数 HEAD 表示当前的版本,假如你当前已经退回到了version 2.0 版本。那么你使用
git reset --hard HEAD
则会返回version 2.0 的版本ID
2d9a6407f9becba08ce46ae55035e0c7f71da8b1
要回到当前版本的上一个版本去。就是用
git reset --hard HEAD^
在 HEAD^^ 表示退回到两个版本前。有多少个^ 就是退回到多少个版本去,如果不幸要退后25个版本。你也可以
git reset --hard HEAD~25
好,退回来了。突然发现问题原来是最新版一个文件中缺少了一个 ‘;’。此时怎么办。还能回去吗? 能! 在用 git log 看到的版本中。最新的那些版本已经不在了。怎么办? github 已经意料到我们会疏忽。于是。他帮我们记录了我们的操作……感谢! 使用 git reflog 来查看你的每一次命令操作记录
这就好办了。我要回到version 3.0 去。
好了好了。太好了 总结:
HEAD 指向的是当前的版本ID 。我们也可以使用它来穿梭到上下的版本去。
使用git log 可以看到我们git中的提交、回退、版本ID 等信息
使用git reflog 查看命令历史。使用它来挽救过度回退
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。