版本回退
现在,我们再修改一次readme.txt
文件如下:
然后尝试提交:
现在应该有三个版本,我们可以使用git log
命令查看历史记录。
git log
命令显示从最近到最远的提交日志。
如果嫌输出信息太多,看的眼花缭乱的,可以试试加上--pretty=oneline
参数:
上面一大串的东西叫commit id
(版本号)。
现在准备把readme.txt
回退到上一个版本,在Git中,用HEAD
表示当前版本,也就是最上面的那个版本,那上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,往上100
个版本就要写100
个^
,所以写成HEAD~100
。
现在要把当前版本append GPL
回退到上一个版本add distributed
,就可以使用git reset
命令。
我们使用cat
命令看看readme.txt
的内容是不是版本add distributed
:
我们再使用git log
看看现在版本库中的状态:
发现剩两个了,如果现在我们想回退到append GPL
的版本,这时候就要用到commit id
:
再看看readme.txt
文件,发现又回来了:
但是有一种情况,如果你的命令行窗口关闭了,没有上个版本的commit id
了。这时候要用到git reflog
命令查看你的每一次命令:
又回来了。
小结
HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。git log
查看提交的历史信息。参数:--pretty=oneline
。git reflog
查看历史命令。