章節 10 歷史記錄
學習目標
- 了解如何查閱專案的歷史紀錄。
使用 git log 來取得專案歷史紀錄的列表。
執行:
git log
您將會看到 …
輸出:
$ git log commit 40543214b69016a1f079a0d95ff88cc7421e9b54 Author: Jim Weirich <jim (at) edgecase.com> Date: Tue Mar 6 16:12:08 2012 -0500 Added a comment commit 1b754e9e5d528ed7a7d82c3b380fa2b2faa3ce00 Author: Jim Weirich <jim (at) edgecase.com> Date: Tue Mar 6 16:12:08 2012 -0500 Added a default value commit 30534911b25d1fab76d13d269ff6215b4c4acddd Author: Jim Weirich <jim (at) edgecase.com> Date: Tue Mar 6 16:12:08 2012 -0500 Using ARGV commit 3cbf83b6899697985d2b4fcfae9b254ab6d0ddf7 Author: Jim Weirich <jim (at) edgecase.com> Date: Tue Mar 6 16:12:07 2012 -0500 First Commit
這裡列出了到目前為止我們對檔案庫送交的四次修改。
單行記錄格式01
您可以使用很多參數來呈現 log 的顯示格式。我比較喜歡單行格式:
執行:
git log --pretty=oneline
您將會看到 …
輸出:
$ git log --pretty=oneline 40543214b69016a1f079a0d95ff88cc7421e9b54 Added a comment 1b754e9e5d528ed7a7d82c3b380fa2b2faa3ce00 Added a default value 30534911b25d1fab76d13d269ff6215b4c4acddd Using ARGV 3cbf83b6899697985d2b4fcfae9b254ab6d0ddf7 First Commit
顯示格式參數 02
Git 提供很多選項讓您可以自訂顯示 log 的格式。 讓我們來操作看看下面這些參數:
git log --pretty=oneline --max-count=2 git log --pretty=oneline --since='5 minutes ago' git log --pretty=oneline --until='5 minutes ago' git log --pretty=oneline --author=<your name> git log --pretty=oneline --all
使用 man git-log 可以查看更多詳細的用法。
來點不一樣的用法 03
下面這行指令是我用來檢查上一週都送交了哪些修改。如果我只想查看我自己的送交,加入 --author=jim 就行了。
git log --all --pretty=format:"%h %cd %s (%an)" --since='7 days ago'
旗艦版的顯示格式 04
在我的經驗中大部分的工作。下面這個 log 格式 是我最愛的。
執行:
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short
看起來會像:
輸出:
$ git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short * 4054321 2012-03-06 | Added a comment (HEAD, master) [Jim Weirich] * 1b754e9 2012-03-06 | Added a default value [Jim Weirich] * 3053491 2012-03-06 | Using ARGV [Jim Weirich] * 3cbf83b 2012-03-06 | First Commit [Jim Weirich]
詳細的格式參數介紹:
--pretty="..."
定義輸出格式%h
顯示 hash%d
顯示 分支, 版本, Tag 例如:(HEAD, origin/master, master)%ad
送交時間 例如:(Mon Jun 18 15:37:57 2012 +0800)%s
註解%an
作者--graph
使用ASCII圖形化分支--date=short
簡短的時間格式 例如(2012-06-18)
不過,使用指令的方式查看 log ,每次要輸入的指令太長了。我們會在下一節學習 如何使用別名和 Alias 來縮短 git 指令。
其他工具 05
gitx
(for Macs)和 gitk
(任何作業系統)都可以用來查詢歷史紀錄。