二、GIT基礎-檢視提交歷史

weixin_34365417發表於2017-12-28

3、檢視提交歷史

我們可以使用git log這個命令來檢視提交的歷史記錄。
預設不用任何引數,git log 會按提交時間列出所有的更新,最近的更新排在最上面。這個命令會列出每個提交的 SHA-1 校驗和、作者的名字和電子郵件地址、提交時間以及提交說明。

commit 6597abf6bb3617c2cbaad12cf1749d9771464ecd
Author: wendong <28152082@qq.com>
Date:   Tue Nov 28 12:03:00 2017 +0800

    git mv test

commit 2b1583efcc6e18d0f80946f88d416b140b01367a
Author: wendong <28152082@qq.com>
Date:   Tue Nov 28 12:01:17 2017 +0800

    delete Hello.txt

commit 9ccca93a00bd91a4883595b2f44a416ffb5ede9e
Author: wendong <28152082@qq.com>
Date:   Tue Nov 28 12:00:32 2017 +0800

    mv test

commit 3a2db18768b228b3af6fa878e36544d15e35cfa4
Author: wendong <28152082@qq.com>
Date:   Tue Nov 28 11:44:28 2017 +0800

    rm test finish

…………

常用的選項 -p,用來顯示每次提交的內容差異。 也可以加上 -2 來僅顯示最近兩次提交:

commit 6597abf6bb3617c2cbaad12cf1749d9771464ecd
Author: wendong <28152082@qq.com>
Date:   Tue Nov 28 12:03:00 2017 +0800

    git mv test

diff --git a/Helloword.txt b/Hello.txt
similarity index 100%
rename from Helloword.txt
rename to Hello.txt

commit 2b1583efcc6e18d0f80946f88d416b140b01367a
Author: wendong <28152082@qq.com>
Date:   Tue Nov 28 12:01:17 2017 +0800

    delete Hello.txt

diff --git a/Hello.txt b/Hello.txt
deleted file mode 100644
index 709f846..0000000
--- a/Hello.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Hello world
-first modify
-second modify
-three modify

--stat 選項在每次提交的下面列出所有被修改過的檔案、有多少檔案被修改了以及被修改過的檔案的哪些行被移除或是新增了。 在每次提交的最後還有一個總結。

commit 6597abf6bb3617c2cbaad12cf1749d9771464ecd
Author: wendong <28152082@qq.com>
Date:   Tue Nov 28 12:03:00 2017 +0800

    git mv test

 Helloword.txt => Hello.txt | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

commit 2b1583efcc6e18d0f80946f88d416b140b01367a
Author: wendong <28152082@qq.com>
Date:   Tue Nov 28 12:01:17 2017 +0800

    delete Hello.txt

 Hello.txt | 4 ----
 1 file changed, 4 deletions(-)

另外一個常用的選項是 --pretty。 這個選項可以指定使用不同於預設格式的方式展示提交歷史。 這個選項有一些內建的子選項供你使用。 比如用 oneline 將每個提交放在一行顯示,檢視的提交數很大時非常有用。 另外還有 short,full 和 fuller 可以用,展示的資訊或多或少有些不同,

6597abf6bb3617c2cbaad12cf1749d9771464ecd git mv test
2b1583efcc6e18d0f80946f88d416b140b01367a delete Hello.txt
9ccca93a00bd91a4883595b2f44a416ffb5ede9e mv test
3a2db18768b228b3af6fa878e36544d15e35cfa4 rm test finish
a80c6a946c0968edcbe3b9826629112b147a84e2 rm test
4794019de33bc2bfcea823ded27f80e98230e114 jump git add submit
b79795b531900217191da0db8b36ee220c074ad4 tree submit
a306d944c27e569f8003a82f7e251159cb61db33 second submit
5e874cc11b31065c65d4fd4ed7e6a275dca524d5 first submit
[root@node1 git-test]# git log --pretty=oneline -2
6597abf6bb3617c2cbaad12cf1749d9771464ecd git mv test
2b1583efcc6e18d0f80946f88d416b140b01367a delete Hello.txt
[root@node1 git-test]# git log --pretty=short -2
commit 6597abf6bb3617c2cbaad12cf1749d9771464ecd
Author: wendong <28152082@qq.com>

    git mv test

commit 2b1583efcc6e18d0f80946f88d416b140b01367a
Author: wendong <28152082@qq.com>

    delete Hello.txt
[root@node1 git-test]# git log --pretty=full -2
commit 6597abf6bb3617c2cbaad12cf1749d9771464ecd
Author: wendong <28152082@qq.com>
Commit: wendong <28152082@qq.com>

    git mv test

commit 2b1583efcc6e18d0f80946f88d416b140b01367a
Author: wendong <28152082@qq.com>
Commit: wendong <28152082@qq.com>

    delete Hello.txt

format,可以定製要顯示的記錄格式。

6597abf - wendong, 4 hours ago : git mv test
2b1583e - wendong, 4 hours ago : delete Hello.txt
9ccca93 - wendong, 4 hours ago : mv test
3a2db18 - wendong, 4 hours ago : rm test finish
a80c6a9 - wendong, 4 hours ago : rm test
4794019 - wendong, 5 hours ago : jump git add submit
b79795b - wendong, 5 hours ago : tree submit
a306d94 - wendong, 6 hours ago : second submit
5e874cc - wendong, 7 hours ago : first submit

git log --pretty=format 常用的選項 列出了常用的格式佔位符寫法及其代表的意義


5818752-a79ee8d8d4af4d55.png
image.png

git log 的常用選項


5818752-46c4b3bcd8ab871d.png
image.png

限制輸入長度的選項:


5818752-56eccf995b5353b8.png
image.png

相關文章