4 git log的常見用法

2022-03-11 13:58:55 字數 3875 閱讀 5248

*****=見

$ git log

commit c08099d1cf05fdc541752b049a91b92bdcf78a12

author: zdk .com>

date: mon jun 19 23:08:07 2017 +0800

add hello.txt to git rep

commit 723687a41685667a01dbd6254eb148d19501c3f1

author: zdk .com>

date: sun jun 18 22:27:29 2017 +0800

add c.txt

commit 1a29bde9519195f14e98270c29d125e9d18b8d87

author: zdk .com>

date: sun jun 11 22:40:21 2017 +0800

新增了a.txt和b.txt檔案

--oneline引數可以將每條日誌的輸出為一行,如果日誌比較多的話,用這個引數能夠使結果看起來比較醒目。為了節約日誌的篇幅,我後面也會頻繁地使用這個引數。

$ git log --oneline

c08099d add hello.txt to git rep

723687a add c.txt

1a29bde 新增了a.txt和b.txt檔案

-[length]引數用於指定顯示多少條日誌

$ git log --oneline -2

c08099d add hello.txt to git rep

723687a add c.txt

這裡面使用-2來指定顯示前兩條日誌

--skip=[skip]引數用來指定跳過前幾條日誌。下面的命令用來檢視第二和第三條日誌

$ git log --skip=1 -2 --oneline

723687a add c.txt

1a29bde 新增了a.txt和b.txt檔案

$ git log --pretty=raw -1

commit c08099d1cf05fdc541752b049a91b92bdcf78a12

tree 5ef6cd7051101c4294cb92980f0cf3740478e120

parent 723687a41685667a01dbd6254eb148d19501c3f1

author zdk 1497884887 +0800

committer zdk 1497884887 +0800

add hello.txt to git rep

輸出的資訊中包括提交id,檔案樹id,父提交id,作者和提交者,這些資訊都非常有用。

-p引數輸出的資訊會更多,用來顯示提交的改動記錄,相當於多次使用git show [commit_id]的結果。

$ git log -1 -p

commit c08099d1cf05fdc541752b049a91b92bdcf78a12

author: zdk .com>

date: mon jun 19 23:08:07 2017 +0800

add hello.txt to git rep

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

new file mode 100644

index 0000000..ce01362

--- /dev/null

+++ b/hello.txt

@@ -0,0 +1 @@

+hello

--graph引數會繪製提交的線索,如果有合併的話,也會更清晰地顯示出來

$ git log --graph --oneline

* c08099d add hello.txt to git rep

* 723687a add c.txt

* 1a29bde 新增了a.txt和b.txt檔案

--decorate引數用來顯示一些相關的資訊,如head、分支名、tag名等

$ git log --decorate --oneline

c08099d (head -> master) add hello.txt to git rep

723687a add c.txt

1a29bde 新增了a.txt和b.txt檔案

下面使用git tag命令給第二次提交加上乙個名叫important的tag。

git tag 'important' 723687a

然後再次使用--decorate引數來檢視一下

$ git log --decorate --oneline

c08099d (head -> master) add hello.txt to git rep

723687a (tag: important) add c.txt

1a29bde 新增了a.txt和b.txt檔案

顯示出了tag的資訊。

--name-status引數會帶出每次提交對應的檔案改動。

$ git log --name-status --oneline

c08099d add hello.txt to git rep

a hello.txt

723687a add c.txt

a c.txt

1a29bde 新增了a.txt和b.txt檔案

a a.txt

a b.txt

通過作者搜尋

有時候會從提交記錄中檢視一下自己(或某個人)的某次提交,git log命令可以很快地檢索出這些資訊

$ git log --author yourname

可以篩選出yourname使用者提交的所有日誌。這裡的yourname可以包含萬用字元,從author: zdk的資訊中匹配資訊。

通過提交關鍵字搜尋

$ git log --grep keywords

可以從提交的關鍵字中抓取匹配的commit項。

通過檔名搜尋

有時候,我們想查某個檔案的所有修改記錄,可以根據檔名來過濾一下只跟這個檔案有關的提交,就可以使用-p引數

git log -p -- release-note.md

注意,這個--後面跟的是完整的檔名的相對位址,不是模糊匹配。如果你的檔案的相對位址是config/my.config的話,你就需要用下面的命令

git log -p -- config/my.config

通過組合使用--authergrep-p這幾個引數,幾乎能滿足大部分檢索需求了。

git學習筆記整理 4 git log

繼續看看git文件學習下,今天看得是git log 以及其分支 git log 會按提交時間列出所有的更新,最近的更新排在最上面。git log p 2後面加命令 p顯示每次的內容差異,2標識顯示最近兩次的。後面加 stat 選項在每次提交的下面列出額所有被修改過的檔案 有多少檔案被修改了以及被修改...

實用的git log用法

git log可以很方便地檢視日誌,可以根據自己需要,將日誌按照特定格式顯示,或者輸出某種格式。最原始的輸出樣式 git log commit ca82a6dff817ec66f44342007202690a93763949 author scott chacon date mon mar 17 2...

Perforce client p4常見用法

p4 edit p4 edit 了乙個大目錄,下面有大把檔案,然後修改了之後 可能修改了,或者增加了,或者刪除了檔案 怎麼提交?1.來到edit的目錄下,find type f xargs p4 add 這樣可以將新增的檔案add到倉庫,已經edit的檔案add會失敗,所以no hurt 2.對於刪...