Git6 git log

Astrid
4 min readJul 27, 2021

--

git log

git — — oneline

git --log decorate

git --graph

git --decorate

git --all

git log -p

git shortlog

git shortlog origin/master..Head

git log -- 檔案名

git log -S”commit itself中含有的字”

git log --grep=”找尋commit message中含有的字”

git log

git log

可以看到從最開始到現在所在位置(HEAD)的所有commit

git log -4

git log -想看到的commit數量

如果打 git log -4

就會只看到離現在最近的四個。

git — — oneline

git log--oneline

只顯示short hash和第一行。

git --log decorate

顯示時會加上branch name

git --log graph

可以顯示ASCII樹狀圖。

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

可以把上面的所有指令都串在一起使用

git log -p

同時顯示commit以及diff

git shortlog

可以把不同人的commit分開顯示

git shortlog

git shortlog -4

可以只顯示最近的四個commit並用作者分類

git shortlog origin/master..Head

看從origin/master到現在位置的所有commit以及照著作者分類

git log --author=”要找的作者名”

git log --grep=”找尋commit message中含有的字”

搜尋某個檔案的所有log

git log -- 檔案名

git log -S”要在所有commit中找尋的字” -p

在所有commit中找到一個字,並顯示出他與parent的diff

git log -S”Fortran” -p

小補充

git log -S”commit itself中含有的字”

以上是找尋commit”本身”,通常狀況下也就是code內容

git log --grep=”找尋commit message中含有的字”

以上是以上是找尋commit”的訊息”,所以就是每次執行git commit -m”commit message”的訊息內容。

小撇步

git log -- 檔案名

git --oneline

git log 很多指令都是接 -- 這個意思是停止指令,後面只會接檔案名或其他名詞。

所以當有--的指令,要跟只有一個-的指令一起使用時,只有一個-的指令要寫在前面。

像是 git log -- books/ -p不可行

但寫成git log -p -- books/ 就可以執行

— — all

--all

在搜尋東西時,如果你位於某個branch或者local,他只會搜尋你的direct ancestor of your current commit。

加上 --all就可以連remote或其他branch都搜尋到。

--

--

Astrid
Astrid

No responses yet