Git中是否有命令能夠查看(轉儲到stdout或$PAGER
或$EDITOR
)特定文件的特定版本? html
若是您喜歡GUI,則可使用gitk: git
用如下命令啓動gitk: github
gitk /path/to/file
在屏幕頂部選擇修訂版本,例如按描述或日期。 默認狀況下,屏幕的下部顯示該版本的差別(對應於「補丁」單選按鈕)。 spa
要查看所選版本的文件: 日誌
按日期執行以下操做: code
git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt
請注意, HEAD@{2013-02-25}
表示此存儲庫中的「 HEAD位於2013-02-25上」(使用reflog ),而不是「此歷史記錄中2013-02-25以前的最後一次提交」。 htm
除了Jim Hunziker的回答, 事件
您能夠將修訂版中的文件導出爲 get
git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt > old_fileInCurrentDirectory.txt
但願這能夠幫助 :) it
您能夠將git show
與來自存儲庫根目錄的路徑一塊兒使用( ./
或../
用於相對路徑):
$ git show REVISION:path/to/file
將REVISION替換爲您的實際修訂版(能夠是Git提交SHA,標籤名稱,分支名稱,相對提交名稱,或在Git中標識提交的任何其餘方式)
例如,要從4次提交以前查看文件repository-root/src/main.c
的版本,請使用:
$ git show HEAD~4:src/main.c
Git for Windows即便在相對於當前目錄的路徑中也須要正斜槓。 有關更多信息,請查看git-show
的手冊頁。
git log -p
會顯示提交日誌,還會顯示每一個提交的差別(合併提交除外)。 而後,您能夠按/
,輸入文件名,而後按enter
。 按n
或p
轉到下一個/上一個事件。 這樣,您不只會看到文件中的更改,並且還會看到提交信息。