输球总是令人不悦的,还是恢复1.0版本,只记录显示中国队难得一次胜利的文本吧。
首先,检查历史版本的命令: git log
现在,让我们回退到1.0版本。想想回退怎么最方便,当然是说:麻烦回退到1.0版本。这样的命令最简单。但,不知你发现没有,git记录版本的东西,是一长串字符,而不是1.0 2.0 3.0 …. 这样的版本号,这是因为git天生是分布式的,全国各地你的同事都在用,1.0 2.0肯定会冲突,那串字符是git用sha1算出的一个id。
回退的命令是: git reset --hard 5059
解释一下,git reset是回退命令。上面的命令,顾名思义就是说设置当前版本为5059开头的那个id版本。(那一长串字符不用全部输完,只要能和其他的区别开来,但最少输入4位长度)
然后,查看一下log,可以看到,只剩v1.0一个版本了。
每次查看log,然后输入id,有些麻烦,还有一个办法,git中HEAD代表当前版本(必须大写),HEAD^ 代表上一个版本,上上个就是HEAD^^ ,上10个就是HEAD~10。实验一下,我们依次修改test.txt,建立3个版本。 test.txt 内容如下:
中国足球队1:0 战胜了韩国足球队 // 1.0
v2.0 version ok // 2.0
3.0 ok //3.0
这个时候,我们就从3.0版本,切换回2.0版本。但这个时候,如果你又想恢复3.0版本怎么办?只有用3.0版本的id了
好了,现在我们测试,直接从3.0切换到1.0。
git reset --hardHEAD~2 (现在的版本是3,往前2个版本)
总结来说,就是你让HEAD指向那个版本,当前版本就是他了。
V1.0 v2.0 v3.0 v…
----------------------------------------------------------------------->>>>>>>
↑
HEAD
有个小问题,比如上面,当让HEAD指向v2.0版本后,如果又重启了电脑,这个时候查看状态,只会显示v1.0和v2.0的id,3.0的已经没有了。这个时候如果想恢复,怎么办呢?其实HEAD可以理解为一个指针,他只是将当期版本指向某个id。那么我们只要查到以前的id,就可以恢复。
查询历史操作的命令是:git reflog
在这里查看那些已经“消失”的版本ID
在这里查看那些已经“消失”的版本ID