1. 查找改動某個文件所有的日志
git log --pretty=oneline somefile.java git log --oneline somefile.java git log --pretty=format:"%h %an,%cd : %s" somefile.java
2. 格式化輸出,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,%cd : %s"
3.指定日期、關鍵字、作者
--since, --after 僅顯示指定時間之后的提交。 git log --since=2.days --until, --before 僅顯示指定時間之前的提交。 git log --until=10.days --author 僅顯示指定作者相關的提交。 git log --author=BeginMan --committer 僅顯示指定提交者相關的提交。 git log --committer=Jack
--grep 僅顯示指定關鍵字的提交。 git log --grep=init
注意作者與提交者的關系:作者是程序的修改者,提交者是代碼提交人。
如指定2天前,作者為“BeginMan”的提交含有關鍵字'init'的前2條記錄:$ git log --since=2.days --author=BeginMan --grep=init -2
注意:上面選項后面的參數可以帶單雙引號,如--author="BeginMan"
4. 顯示修改的文件
--name-only 僅在提交信息后顯示已修改的文件清單
--name-status 顯示新增、修改、刪除的文件清單
git log --name-only git log --name-only --oneline git log --name-status git log --name-status --oneline
5. 顯示日志統計信息
--stat 顯示每次更新的文件修改統計信息,也顯示更新的文件名和修改的多少。 --shortstat 只顯示 --stat 中最后的行數修改添加的統計。不顯示更新的文件名。
git log --stat git log --stat --oneline git log --shortstat git log --shortstat --oneline
6. 顯示單次日志信息
git show [commit id] git show [commit id] --name-only git show [commit id] --name-only --oneline git show [commit id] --name-status git show [commit id] --stat git show [commit id] --shortstat
7. 查找某個字符串在何時添加
git log -S"string wanted to search" --oneline 81fbf7e a commit