git入门--版本回退

前面已经学会使用git将文件提交到本地仓库和远程仓库,那么,如何在本地实现版本回退呢?

首先,我们在将上次讲到的文档进行修改,并反复提交。

第一次,修改内容为hellword。

过程如下


git入门--版本回退_第1张图片
第一次修改提交

第二次,修改内容为hellogit。在提交之前,我们使用以下语句查看本地仓库当前状态

$ git status


git入门--版本回退_第2张图片
第二次修改后未提交状态


git入门--版本回退_第3张图片
第二次修改提交

在提交完成后,在次查看本地仓储当前状态。


git入门--版本回退_第4张图片
第二次提交完成后状态

同时,在修改提交时我们可以使用一下语句来查看文件修改的不同

$ git diff

,以上内容是我们重复上次内容,也是为下面的版本回退建立基础。

一. 查看本地仓储commit提交状态

$ git log


git入门--版本回退_第5张图片
本地仓储提交记录

注:你看到的一大串类似393c072....3f20b的是commit id(版本号),Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示,而且你看到的commit id和我的肯定不一样,以你自己的为准。为什么commit id需要用这么一大串数字表示呢?因为Git是分布式的版本控制系统,后面我们还要研究多人在同一个版本库里工作,如果大家都用1,2,3……作为版本号,那肯定就冲突了。

二.版本回退

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交393c072....3f20b(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

$ git reset  - - hard HEAD^


git入门--版本回退_第6张图片
回退到第一次修改

我们查看aa.txt是否实现回退


git入门--版本回退_第7张图片
回退成功

三. 如果有时候回退错误怎么办?

$ git reflog

使用上述语句可一查看你的每一次命令


git入门--版本回退_第8张图片
查找成功

在我们找到相应的git id之后,使用

$ git reset  --hard  id


git入门--版本回退_第9张图片
回退到第二次修改成功

查看aa.txt


git入门--版本回退_第10张图片
成功

你可能感兴趣的:(git入门--版本回退)