查看提交历史记录
在创建了多个提交之后,或者如果您克隆了具有现有提交历史记录的存储库,则可能需要回顾一下以查看发生了什么。执行此操作的最基本和最强大的工具是命令。git log
这些示例使用了一个非常简单的项目,称为“simplegit”。若要获取项目,请运行:
$ git clone https://github.com/schacon/simplegit-progit
在此项目中运行时,应获得如下所示的输出:git log
$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <xq-mail.com>
Date: Mon Mar 17 21:52:11 2018 -0700
Change version number
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <xq-mail.com>
Date: Sat Mar 15 16:40:33 2018 -0700
Remove unnecessary test
commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon <xq-mail.com>
Date: Sat Mar 15 10:31:28 2018 -0700
Initial commit
默认情况下,在没有参数的情况下,按时间倒序列出在该存储库中进行的提交;也就是说,最新的提交首先显示。如您所见,此命令列出了每个提交及其 SHA-1 校验和、作者的姓名和电子邮件、写入日期以及提交消息。git log
该命令有大量和各种选项可用于向您准确显示您要查找的内容。在这里,我们将向您展示一些最受欢迎的。git log
其中一个更有用的选项是 or ,它显示了每次提交中引入的差异(修补程序输出)。您还可以限制显示的日志条目数,例如 使用 仅显示最后两个条目。-p–patch-2
$ git log -p -2
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <sxw-mail.com>
Date: Mon Mar 17 21:52:11 2018 -0700
Change version number
diff --git a/Rakefile b/Rakefile
index a874b73..8f94139 100644
--- a/Rakefile
+++ b/Rakefile
@@ -5,7 +5,7 @@ require 'rake/gempackagetask'
spec = Gem::Specification.new do |s|
s.platform = Gem::Platform::RUBY
s.name = "simplegit"
- s.version = "0.1.0"
+ s.version = "0.1.1"
s.author = "Scott Chacon"
s.email = "schacon@gee-mail.com"
s.summary = "A simple gem for using Git in Ruby code."
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 16:40:33 2018 -0700
Remove unnecessary test
diff --git a/lib/simplegit.rb b/lib/simplegit.rb
index a0a60ae..47c6340