Git将所有提交存储为快照。我们可以承诺无限。如果我们可以回顾我们的承诺,我们可以使用 log
命令。
null
Git日志
我们可以简单地列出提交,而不需要对 log
命令。
$ git log commit 877ab08a2c122c70326bb025530e48cb673c8505 Author: John Doe <[email protected]> Date: Sat Oct 8 04:23:46 2016 +0000 Version 4,Added LICENSE commit 22dc9ad592d5bc21412a246791a05abd42e72793 Author: John Doe <[email protected]> Date: Sat Oct 8 04:16:57 2016 +0000 Version 2, Add README commit 1156333b153c7bc164e194caf49a2720e490cb61 Author: John Doe <[email protected]> Date: Fri Oct 7 09:32:07 2016 +0000 Start
正如我们看到的,Git存储库的整个历史有3个提交。 log
命令提供
-
commit hash
它用作标识符和唯一值。 -
Author
是开发人员的信息,如姓名和电子邮件地址。 -
Date
提交发生的日期。 - 最后一行是开发人员添加的消息。
列出最后2次提交
如果我们发布 log
我们会得到一堆命令。我们可以把它们过滤掉 -n
提供限制数的参数。
$ git log -n 2 commit 877ab08a2c122c70326bb025530e48cb673c8505 Author: John Doe <[email protected]> Date: Sat Oct 8 04:23:46 2016 +0000 Version 4,Added LICENSE commit 22dc9ad592d5bc21412a246791a05abd42e72793 Author: John Doe <[email protected]> Date: Sat Oct 8 04:16:57 2016 +0000 Version 2, Add README
单行列出提交
可以使用 --oneline
争论。这将只列出提交哈希和消息。
$ git log --oneline -n 2 877ab08 Version 4,Added LICENSE 22dc9ad Version 2, Add README
列表提交详细信息
列出有关使用完成的提交的详细信息 --stat
命令。此参数将列出更改和添加的文件。
$ git log --stat commit 877ab08a2c122c70326bb025530e48cb673c8505 Author: John Doe <[email protected]> Date: Sat Oct 8 04:23:46 2016 +0000 Version 4,Added LICENSE LICENSE | 1 + 1 file changed, 1 insertion(+) commit 22dc9ad592d5bc21412a246791a05abd42e72793 Author: John Doe <[email protected]> Date: Sat Oct 8 04:16:57 2016 +0000 Version 2, Add README README.md | 1 + 1 file changed, 1 insertion(+)
请详细说明
要获得有关添加哪些行的所有详细信息,可以使用哪些diff来获取 -p
表示补丁的参数。
$ git log -p commit 877ab08a2c122c70326bb025530e48cb673c8505 Author: John Doe <[email protected]> Date: Sat Oct 8 04:23:46 2016 +0000 Version 4,Added LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3d0f24c --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +This is a free license commit 22dc9ad592d5bc21412a246791a05abd42e72793 Author: John Doe <[email protected]> Date: Sat Oct 8 04:16:57 2016 +0000 Version 2, Add README diff --git a/README.md b/README.md new file mode 100644 index 0000000..4cd6e40 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +#This is readme
在提交中搜索
我们可以在提交中寻找特定的开发人员。我们需要供应 --author
与开发人员名称的参数如下所示。
$ git log --author="İsmail Baydan" $ git log -n 1 --author="John Doe" commit 877ab08a2c122c70326bb025530e48cb673c8505 Author: John Doe <[email protected]> Date: Sat Oct 8 04:23:46 2016 +0000 Version 4,Added LICENSE
在我们看来,作者 İsmail Baydan
不存在,但 John Doe
为项目工作并作出承诺。
相关文章: 如何用Netsh命令行管理Windows防火墙?
另一种搜索类型是在提交中搜索消息。通过提供 grep
我们可以在自由文本搜索模式下搜索消息。
$ git log --grep="4" commit 877ab08a2c122c70326bb025530e48cb673c8505 Author: John Doe <[email protected]> Date: Sat Oct 8 04:23:46 2016 +0000 Version 4,Added LICENSE
在日期/时间范围之间搜索
在日期之间搜索可以用 before
和 after
论据。它们可以单独使用,也可以一起使用,如下所示。
$ git log --after="2014-7-1" commit 877ab08a2c122c70326bb025530e48cb673c8505 Author: John Doe <[email protected]ut.com> Date: Sat Oct 8 04:23:46 2016 +0000 Version 4,Added LICENSE commit 22dc9ad592d5bc21412a246791a05abd42e72793 Author: John Doe <[email protected]> Date: Sat Oct 8 04:16:57 2016 +0000 Version 2, Add README commit 1156333b153c7bc164e194caf49a2720e490cb61 Author: John Doe <[email protected]> Date: Fri Oct 7 09:32:07 2016 +0000 Start $ git log --before="2014-7-1"
因为我们以前没有承诺 2014-7-1
没有结果。我们所有的承诺都是为了 2014-7-1.
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END