是否有快速的Git命令來查看文件的舊版本?

Git中是否有命令能夠查看(轉儲到stdout或$PAGER$EDITOR )特定文件的特定版本? html


#1樓

若是您喜歡GUI,則可使用gitk: git

  1. 用如下命令啓動gitk: github

    gitk /path/to/file
  2. 在屏幕頂部選擇修訂版本,例如按描述或日期。 默認狀況下,屏幕的下部顯示該版本的差別(對應於「補丁」單選按鈕)。 spa

  3. 要查看所選版本的文件: 日誌

    • 單擊「樹」單選按鈕。 這將顯示該修訂版中文件樹的根。
    • 深刻到您的文件。

#2樓

按日期執行以下操做: code

git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt

請注意, HEAD@{2013-02-25}表示此存儲庫中的「 HEAD位於2013-02-25上」(使用reflog ),而不是「此歷史記錄中2013-02-25以前的最後一次提交」。 htm


#3樓

除了Jim Hunziker的回答, 事件

您能夠將修訂版中的文件導出爲 get

git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt > old_fileInCurrentDirectory.txt

但願這能夠幫助 :) it


#4樓

您能夠將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的手冊頁。


#5樓

git log -p會顯示提交日誌,還會顯示每一個提交的差別(合併提交除外)。 而後,您能夠按/ ,輸入文件名,而後按enter 。 按np轉到下一個/上一個事件。 這樣,您不只會看到文件中的更改,並且還會看到提交信息。

相關文章
相關標籤/搜索