你可以看到項目的歷史記錄——誰貢獻了什么、bug 是什么時候引入的,還可以撤回有問題的更改.
git log 有兩個高級用法:一是自定義提交的輸出格式,二是過濾輸出哪些提交.
格式化 Log 輸出
#只顯示提交ID和提交信息的第一行
git log --oneline
#知道每個提交關聯的分支或者標簽
git log --oneline --decorate
Diff
文件名后面 +
和 -
的數量是這個提交造成的更改中增刪的相對比例.
#--stat 選項顯示每次提交的文件增刪數量
git log --stat
# -p 如果你想知道每次提交刪改的絕對數量
git log -p
Shortlog
#它把每個提交按作者分類,顯示提交信息的第一行。這樣可以容易地看到誰做了什么。
git shortlog
默認情況下,git shortlog 把輸出按作者名字排序,但你可以傳入 -n 選項來按每個作者提交數量排序。
Graph
#--graph 選項繪制一個 ASCII 圖像來展示提交歷史的分支結構
#星號表明這個提交所在的分支
git log --graph --oneline --decorate
按內容
#當你想要知道 Hello, World! 字符串是什么時候加到項目中哪個文件中去的
git log -S "Hello, World!"
按范圍
#master..feature 范圍包含了在 feature 分支而不在 master 分支中所有的提交
git log master..feature