Git Day 2:恢复文档

来源:互联网 发布:sql语句查询所有表 编辑:程序博客网 时间:2024/05/21 15:45

在之前我们完成了文档的添加,提交,修改,查看信息状态已经查看文档的不同。接下来的工作就是恢复文档(版本回退)。
在实际工作中,我们脑子里对于要记住一个几千行的文件每次都改了什么内容很困难。在Git中,我们可以用 $ git log 命令查看:

admin@SimpletonL MINGW64 /d/Program Files/learngit (master)$ git logcommit fddf8a296447d50b99ed3594b660e708d379adef (HEAD -> master)Author: liuwxye <857205436@qq.com>Date:   Tue Jul 18 19:34:43 2017 +0800    append GPLcommit e9a67d9cdf5b857a1bb11b4df653b371d24e5af6Author: liuwxye <857205436@qq.com>Date:   Tue Jul 18 19:33:46 2017 +0800    wrote a readme file....... //  省略笔者之前修改的一些文档

当然,如果认为太多文档妨碍我们获取有用信息时,我们可以通过$ git log --pretty=oneline 来帮助我们将信息精简。

admin@SimpletonL MINGW64 /d/Program Files/learngit (master)$ git log --pretty=onelinefddf8a296447d50b99ed3594b660e708d379adef (HEAD -> master) append GPLe9a67d9cdf5b857a1bb11b4df653b371d24e5af6 wrote a readme file....... //  省略笔者一些信息

值得注意的是,我们看到一大串类似fddf8a296447d50b99ed3594b660e708d379adef 的其实是 commit id(版本号),是一个用SHA1计算出来的一个非常
大的数字,用十六进制表示。每提交一个新版本,实际上Git就会把它们自动串成一条时间线。

版本回退:

$ git reset hard HEAD^ //回退到上个版本(在Git中,用 HEAD 表示当前版本,上一个版本就是 HEAD^ ,上上一个版本就是 HEAD^^ ,当然往上100个版本写100个 ^ 比较容易数不过来,所以写成 HEAD~100)

HEAD 指向的版本就是当前版本,因此,Git允许我们在版本的历史之间来回回退,使用命令 $ git reset --hard commit_id
回退前,用 $ git log 可以查看提交历史,以便确定要回退到哪个版本。
要回退到最新修改的文档,可以先用 $ git reflog 查看命令历史,以便确定要回退的版本。

admin@SimpletonL MINGW64 /d/Program Files/learngit (master)$ git refloge9a67d9 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^fddf8a2 HEAD@{1}: commit: append GPLe9a67d9 (HEAD -> master) HEAD@{2}: commit: wrote a readme

所以,当我们要回退到 commit: append GPL的那个版本时,就可以使用命令 $ git reset --hard fddf8a2

admin@SimpletonL MINGW64 /d/Program Files/learngit (master)$ git reset --hard fddf8a2HEAD is now at fddf8a2 append GPL

故再查看日志就可以了

admin@SimpletonL MINGW64 /d/Program Files/learngit (master)$ git reflogfddf8a2 (HEAD -> master) HEAD@{0}: reset: moving to fddf8a2e9a67d9 HEAD@{1}: reset: moving to HEAD^fddf8a2 (HEAD -> master) HEAD@{2}: commit: append GPLe9a67d9 HEAD@{3}: commit: wrote a readme file

最后提示一点,其实HEAD->当指针看就可以很快理解了。

原创粉丝点击