現在開始git大多數用戶都經歷過subversion,對於這兩種開關的版本控制系統需要一段時間去適應。本文旨在幫助恢復一些,這些用戶都熟悉的日志記錄買家的習慣。
我們要熟悉一個詳細的例子git中log的命令的使用。
情景:
1、當前版本號的代碼編譯執行出現了一個棘手的問題。我們打算查閱近期的提交改動看是否有頭緒:
git log --stat
在提交記錄我們能夠看到每一次commit。都有哪些文件發生了改變。這里簡潔的列出了相關文件基本信息。
2、我們打算查看某個文件在某次提交中的改動:
git show <hashcode> <filename>
這里的hashcode就是你想要查看的節點的哈希值。也就是圖中黃色字體commit后的一串代碼。
3、我們分析后發現不是這幾次的改動造成的,所以我們希望查看這個文件全部的提交記錄。
查看僅這個文件的全部歷史記錄:
git log --pretty=oneline <filename>
4、在某些情況下我們可能希望查看目標文件兩個版本號之間的差異。
查看這個文件**隨意兩個版本號的差異**:
git diff <hashcode-before-right> <hashcode> <filename>
注意:filename在提交記錄中的文件路徑可能已經被縮略,我們在寫filename一定要寫上完整路徑,但不該是絕對路徑。
補充兩點
團隊開發或者做Code Review的時你可能須要用到:
查看某個文件的包括提交人員,日期、版本號號等記錄信息。不包括改動詳情:
git whatchanged <filename>
在review時查看某次提交改動詳情:
git show <hashcode>
也能夠用
git log -p <hashcode>
熟悉如上命令,我們基本能夠輕松依照subversion的習慣查閱版本號提交和代碼改動記錄了。
版權聲明:本文博主原創文章。博客,未經同意不得轉載。