git log常用命令以及技巧

2021-07-05 10:46:55 字數 4365 閱讀 7826

如果不帶任何引數,它會列出所有歷史記錄,最近的排在最上方,顯示提交物件的雜湊值,作者、提交日期、和提交說明。如果記錄過多,則按page up、page down、↓、↑來控制顯示;按q退出歷史記錄列表。

2.git log -n

如果不想向上面那樣全部顯示,可以選擇顯示前n條。

3.git log --stat -n

顯示簡要的增改行數統計,每次提交檔案的變更統計,-n 同上,前n條,可省略。

$ git log --stat -2

commit d0b9a20fac8abc7517c5a04c0fbb1d488f309bf5

author: beginman date: sat mar 1

23:26:43

2014 +0800

ok_posts/2014-02-27-customizing-git.md | 5 +++++

1 file changed, 5 insertions(+)

commit

8c186cd71492b7a3eae6df7de880b99efa0f87cf

author: beginman date: sat mar 1

23:26:10

2014 +0800

mi_posts/2014-02-27-customizing-git.md | 56 +++++++++++++++++++++++++++++++++++-

1 file changed, 55 insertions(+), 1 deletion(-)

每個提交都列出了修改過的檔案,以及其中新增和移除的行數,並在最後列出所有增減行數小計,比如上面的有5行做了更新。

4.git log -p -n

此命令同上,不過顯示更全了。

5.git log --pretty=oneline

一行顯示,只顯示雜湊值和提交說明。

6.gig lot --graph

ascii 字串表示的簡單圖形,形象地展示了每個提交所在的分支及其分化衍合情況

$ git log --pretty=format:"%h

%s" --graph

7.$ git log --pretty=format:" "

控制顯示的記錄格式,常用的格式佔位符寫法及其代表的意義如下:

選項	 說明

%h 提交物件(commit)的完整雜湊字串

%h 提交物件的簡短雜湊字串

%t 樹物件(tree)的完整雜湊字串

%t 樹物件的簡短雜湊字串

%p 父物件(parent)的完整雜湊字串

%p 父物件的簡短雜湊字串

%an 作者(author)的名字

%ae 作者的電子郵件位址

%ad 作者修訂日期(可以用 -date= 選項定製格式)

%ar 作者修訂日期,按多久以前的方式顯示

%cn 提交者(committer)的名字

%ce 提交者的電子郵件位址

%cd 提交日期

%cr 提交日期,按多久以前的方式顯示

%s 提交說明

如下操作:

$ git log --pretty=format:"%h -%an,%ar : %s" -3

d0b9a20 -beginman,24 hours ago : ok

8c186cd -beginman,24 hours ago : mi

b2a3100 -beginman,24 hours ago : what?

顯示了前3條的資訊,簡單的雜湊值,作者,提交時間,提交說明。

個人感覺這個命令挺好的,為了方面使用,還是做個別名吧:

$ git config alias.logs "log --pretty=format:'%h -%an,%ar:%s'"

$ git config alias.logs

log --pretty=format:'%h -%an,%ar:%s'

$ git logs

....

8.指定路徑

比如說,指定專案路徑下的所有以install.md結尾的檔案的提交歷史:

--pretty=oneline *install.md

只需要加上檔案路徑作為引數即可。

9.指定日期、關鍵字、作者

如兩天前的提交歷史:git log --since=2.days

如指定作者為"beginman"的所有提交:$ git log --author=beginman

如指定關鍵字為「init」的所有提交:$ git log --grep=init

如指定提交者為"jack"的所有提交:$ git log --committer=jack

注意作者與提交者的關係:作者是程式的修改者,提交者是**提交人。

如指定2天前,作者為「beginman」的提交含有關鍵字'init'的前2條記錄:$ git log --since=2.days --author=beginman --grep=init -2

注意:上面選項後面的引數可以帶單雙引號,如--author="beginman"

使用說明如下:

選項 說明

-(n) 僅顯示最近的 n 條提交

--since, --after 僅顯示指定時間之後的提交。

--until, --before 僅顯示指定時間之前的提交。

--author 僅顯示指定作者相關的提交。

--committer 僅顯示指定提交者相關的提交。

來看乙個實際的例子,如果要檢視 git 倉庫中,2008 年 10 月期間,junio hamano 提交的但未合併的測試指令碼(位於專案的 t/ 目錄下的檔案),可以用下面的查詢命令:

$ git log --pretty="%h - %s" --author=gitster --since="2008-10-01" \

--before="2008-11-01" --no-merges -- t/

參考:

git log 命令支援的選項

-p 按補丁格式顯示每個更新之間的差異。

--stat 顯示每次更新的檔案修改統計資訊。

--shortstat 只顯示 --stat 中最後的行數修改新增移除統計。

--name-only 僅在提交資訊後顯示已修改的檔案清單。

--name-status 顯示新增、修改、刪除的檔案清單。

--abbrev-commit 僅顯示 sha-1 的前幾個字元,而非所有的 40 個字元。

--relative-date 使用較短的相對時間顯示(比如,「2 weeks ago」)。

--graph 顯示 ascii 圖形表示的分支合併歷史。

--pretty 使用其他格式顯示歷史提交資訊。可用的選項包括 oneline,short,full,fuller 和 format(後跟指定格式)。

插播兩條命令:

git log --oneline --graph --decorate --all

git log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)%creset' --abbrev-commit

10.git 圖形客戶端的使用

使用gitk圖形客戶端檢視歷史記錄。輸入$ gitk即可開啟,如下:

如果是linux平台下,可推薦如下:

linux 下6款 git 圖形客戶端

11.終極之道

終極之道就是檢視幫助,如下開啟文件檢視,前提是英文要好。

$ git log --help

launching default browser to

display html ...

git log常用命令

git log 檢視提交記錄,引數 n n是乙個正整數 檢視最近n次的提交資訊 git log 2 檢視最近2次的提交歷史記錄 filenamefilename為任意檔名,檢視指定檔案的提交資訊。注 檔名應該放到引數的最後位置,通常在前面加上 並用空格隔開表示是檔案。git log file1 fi...

Git log常用命令

git 可以同過log來檢視歷史記錄 p 是 patch 的縮寫,通過 p 引數,可以看到具體每個 commit 的改動細節 可以直接輸入 git show 在shou後面加上要檢視的commit引用 當commits有很多記錄時,預設的顯示方式不利於我們快速檢視,這時候我們可以 pretty來優化...

git log 常用命令

如果不帶任何引數,它會列出所有歷史記錄,最近的排在最上方,顯示提交物件的雜湊值,作者 提交日期 和提交說明。如果記錄過多,則按page up page down 來控制顯示 按q退出歷史記錄列表。如果不想向上面那樣全部顯示,可以選擇顯示前n條。顯示簡要的增改行數統計,每次提交檔案的變更統計,n 同上...