git入门--版本回退

作者: 常威爆打来福 | 来源:发表于2017-06-11 22:04 被阅读44次

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

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

    第一次,修改内容为hellword。

    过程如下

    第一次修改提交

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

    $ git status

    第二次修改后未提交状态 第二次修改提交

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

    第二次提交完成后状态

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

    $ git diff

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

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

    $ git log

    本地仓储提交记录

    注:你看到的一大串类似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^

    回退到第一次修改

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

    回退成功

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

    $ git reflog

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

    查找成功

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

    $ git reset  --hard  id

    回退到第二次修改成功

    查看aa.txt

    成功

    相关文章

      网友评论

        本文标题:git入门--版本回退

        本文链接:https://www.haomeiwen.com/subject/qjkkqxtx.html