概述:
我们是如何记录我们的人生----日记,如果你那天闲来无事可以翻一翻,说明我们都是有故事的人,哈哈,如果我们想要查看Git提交历史记录,怎么办?
1.查看提交历史
语法:git log
commit d521dd00f9b8cc3e54064abb3d8125d88e6ba412 Author: chenliang <1040101694@qq.com> Date: Wed Jun 7 17:28:47 2017 +0800 Hello commit 9ddce59dbacb7160fab09c4da14523e609e9428a Author: chenliang <1040101694@qq.com> Date: Wed Jun 7 17:03:45 2017 +0800 将计就计 commit e9128101a2572cf0b2398ca5a281c796676d0352 Author: chenliang <1040101694@qq.com> Date: Wed Jun 7 16:58:54 2017 +0800 我提交了README commit 6ada7cad2883d636837d6072aa27cbc8f07988cb Author: chenliang <1040101694@qq.com> Date: Wed Jun 7 16:24:38 2017 +0800 D:/install/Git/aa commit 063c0f280259c2d2a97abc08bc27dbe0b01e6e6f Author: chenliang <1040101694@qq.com> Date: Wed Jun 7 09:10:29 2017 +0800 README 总结: 1.时间是倒序2.commit 后面就是计算出来的SHA-1校验3.Author 提交人 这个是在配置git config 时候配置的4.Date:提交日期5.提交内容(提交时候的注释)那么问题来,如果有很多历史记录,我想看特定记录,是不是需要检索和筛选功能?
常用的参数 -p 表示每次提交的内容差异(类似使用 git diff) -2 表示最近两次提交
$ git log -p -2 commit d521dd00f9b8cc3e54064abb3d8125d88e6ba412 Author: chenliang <1040101694@qq.com> Date: Wed Jun 7 17:28:47 2017 +0800 Hello diff --git a/README b/README deleted file mode 100644 index abe187b..0000000 --- a/README +++ /dev/null @@ -1 +0,0 @@ -将计就计 diff --git "a/~/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243 - \345\211\257\346\234\254 (2).txt" "b/~/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243 - \345\211\257\346\234\254 (2).txt" deleted file mode 100644 index e69de29..0000000 diff --git "a/~/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243 - \345\211\257\346\234\254 - \345\211\257\346\234\254.txt" "b/~/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243 - \345\211\257\346\234\254 - \345\211\257\346\234\254.txt" deleted file mode 100644 index e69de29..0000000 diff --git "a/~/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243 - \345\211\257\346\234\254.txt" "b/~/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243 - \345\211\257\346\234\254.txt" deleted file mode 100644 index e69de29..0000000 diff --git "a/~/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" "b/~/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" deleted file mode 100644 index e69de29..0000000 commit 9ddce59dbacb7160fab09c4da14523e609e9428a Author: chenliang <1040101694@qq.com> Date: Wed Jun 7 17:03:45 2017 +0800 将计就计 diff --git a/README b/README index 1a4cca6..abe187b 100644 --- a/README +++ b/README @@ -1,2 +1 @@ -Hello World! -Hello World 这行是我新写的 +将计就计 (END) 总结: diff表示两个文件不同index(索引)提交动作产生索引-HelloWorld! 前面-表示删除+将计就计 前面+表示添加看一些统计信息用--stat
$ git log --stat commit d521dd00f9b8cc3e54064abb3d8125d88e6ba412 Author: chenliang <1040101694@qq.com> Date: Wed Jun 7 17:28:47 2017 +0800 Hello README | 1 - ...6\234\254\346\226\207\346\241\243 - \345\211\257\346\234\254 (2).txt" | 0 ...46\241\243 - \345\211\257\346\234\254 - \345\211\257\346\234\254.txt" | 0 ...7\346\234\254\346\226\207\346\241\243 - \345\211\257\346\234\254.txt" | 0 ...\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" | 0 5 files changed, 1 deletion(-) commit 9ddce59dbacb7160fab09c4da14523e609e9428a Author: chenliang <1040101694@qq.com> Date: Wed Jun 7 17:03:45 2017 +0800 将计就计 README | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit e9128101a2572cf0b2398ca5a281c796676d0352 : 总结:文件被新增删除记录都会被保存看见最后的冒号(:)表示还有记录,回车就看到
现在看起来格式不符合要求,写过用java输出XML文件要想格式变得好看,format.pretty常量,git也是这样的
语法:git log --pretty = oneline (oneline表示显式一行=SHA-1+注释) ,当然还有其他值,例如:short、full、fuller
$ git log -2 --pretty=oneline d521dd00f9b8cc3e54064abb3d8125d88e6ba412 Hello 9ddce59dbacb7160fab09c4da14523e609e9428a 将计就计 如果这个你看起来不爽,可以自定义语法:git log --pretty=format:"你的规则" (注意等号两边不能有空格)
$ git log --pretty=format:"%h - %an, %ar : %s" -2 d521dd0 - chenliang, 51 minutes ago : Hello 9ddce59 - chenliang, 76 minutes ago : 将计就计 选项 说明 %H 提交对象(commit)的完整哈希字串 %h 提交对象的简短哈希字串 %T 树对象(tree)的完整哈希字串 %t 树对象的简短哈希字串 %P 父对象(parent)的完整哈希字串 %p 父对象的简短哈希字串 %an 作者(author)的名字