分佈式版本控制系統 Git | 三

分佈式版本控制系統 Git | 三


查看提交日誌


屢次提交版本更新,當想回顧提交歷史時。能夠使用 git log 命令查看提交日誌。git

$ git log
commit dd6c67d9f27fa3238c9ca9b74c01dd84e355a4fd (HEAD -> master)
Author: 大夢三千秋 <yiluolion@gmail.com>
Date:   Mon Feb 3 20:16:52 2020 +0800

    Fix issue 007

commit c4366e8566ae7d92b61f23613da28b1929b15feb
Author: 大夢三千秋 <yiluolion@gmail.com>
Date:   Mon Feb 3 19:45:22 2020 +0800

    New file and change something

commit 9c3df1874694c55685c2823c62a03f7d85633fdb
Author: 大夢三千秋 <yiluolion@gmail.com>
Date:   Mon Feb 3 18:40:27 2020 +0800

    Create file about_git

commit 6c291327f97b559f13c94f34ea23ffdb32af52c5
Author: 大夢三千秋 <yiluolion@gmail.com>
Date:   Mon Feb 3 18:37:26 2020 +0800

    delelte README

git log 命令顯示的是從最近到最遠的提交日誌。微信

git log 還有選項能夠選擇,簡單介紹幾個經常使用的選項。分佈式

例如,-p 選項:3d

$ git log -p -2
commit 71b1806ca672f73ca97e745bb44ce0e99fa04c85 (HEAD -> master)
Author: 大夢三千秋 <yiluolion@gmail.com>
Date:   Tue Feb 4 20:41:55 2020 +0800

    Add test line

diff --git a/readme.txt b/readme.txt
index a68a8b2..c390466 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,3 +1,4 @@
 Add something here

 Change something here
+# test line

commit dd6c67d9f27fa3238c9ca9b74c01dd84e355a4fd
Author: 大夢三千秋 <yiluolion@gmail.com>
Date:   Mon Feb 3 20:16:52 2020 +0800

    Fix issue 007

diff --git a/about_git.txt b/about_git.txt

選項 -p 的做用是,按補丁格式顯示每一個提交引入的差別。-2 選項表示僅顯示最近的兩次提交。版本控制

這個選項可以快速瀏覽協同者提交的 commit 帶來的變化。日誌

git log 還提供一個 --stat 選項,附帶提交的簡略統計信息:code

$ git log --stat
commit 71b1806ca672f73ca97e745bb44ce0e99fa04c85 (HEAD -> master)
Author: 大夢三千秋 <yiluolion@gmail.com>
Date:   Tue Feb 4 20:41:55 2020 +0800

    Add test line

 readme.txt | 1 +
 1 file changed, 1 insertion(+)

commit dd6c67d9f27fa3238c9ca9b74c01dd84e355a4fd
Author: 大夢三千秋 <yiluolion@gmail.com>
Date:   Mon Feb 3 20:16:52 2020 +0800

    Fix issue 007

 about_git.txt | 3 ++-
 readme.txt    | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

commit c4366e8566ae7d92b61f23613da28b1929b15feb
Author: 大夢三千秋 <yiluolion@gmail.com>
Date:   Mon Feb 3 19:45:22 2020 +0800

--stat 這個選項可以查看每次提交修改過的文件,有多少被修改被修改的文件哪行發生了變化,同時在最後有個總結。orm

git log 默認輸出的信息比較多,--pretty 選項搭配不一樣的格式可以展現不一樣形式的提交歷史。文檔

--pretty 提供的子選項中,oneline 可以大量縮減輸出的信息,只顯示關鍵的部分。get

$ git log --pretty=oneline
71b1806ca672f73ca97e745bb44ce0e99fa04c85 (HEAD -> master) Add test line
dd6c67d9f27fa3238c9ca9b74c01dd84e355a4fd Fix issue 007
...

還有一些 shortmediumfull 等選項可以搭配使用,這些選項的使用所展現的格式基本一致,可是顯示的內容信息詳細程度不一。

還有一個 format 選項,很是特殊,可以自定義輸出的格式。對後期的提取分析有很大的幫助:

$ git log --pretty=format:"%h - %an, %ar : %s"
71b1806 - 大夢三千秋, 28 minutes ago : Add test line
dd6c67d - 大夢三千秋, 25 hours ago : Fix issue 007
c4366e8 - 大夢三千秋, 25 hours ago : New file and change something
9c3df18 - 大夢三千秋, 26 hours ago : Create file about_git
6c29132 - 大夢三千秋, 27 hours ago : delelte README
956d16c - 大夢三千秋, 2 days ago : Wrote file README

上面使用的佔位符具體的意義以下:

佔位符 意義
%h 提交的簡寫哈希值
%an 做者名稱
%ar 做者修改時間,按照多久以前的形式展現
%s 提交的說明

具體詳細的信息能夠查看官方文檔進行了解。

https://git-scm.com/docs/git-log#_pretty_formats

還有一個選項可以跟 oneline 或者 format 結合使用,就是 --graph。這個選項可以以圖形的形式,在日誌左側形象展現分支以及合併的歷史:

$ git log --pretty=oneline --graph
*   102a4a4f950cffae0acfb53a634012182fb8e8a1 (HEAD -> master) Fix conflict
|\
| * 04702642dbfc9b5601b69e55c8ac38918441e9d2 (dev) Add test line by dev
* | d4a2555ab7fdd1e2b3d7b768d217ab70797162a1 Add test line
|/
* ae23d790611db0a0d9360cb55c700891a9e94bf9 Create file and add newline by branch dev
* 576349c0e843bce799da5845c67a87a817dd0096 Create file DEV2
...

以上就是簡單介紹 git log 命令支持的一些選項。其餘未涉及的選項,可經過下方的連接進行更詳細的瞭解。

https://git-scm.com/docs/git-log#_commit_formatting


以上就是本篇的主要內容

未完待續

歡迎關注微信公衆號《書所集錄》
相關文章
相關標籤/搜索