假設我更改了我的文件foo.txt
並運行git add foo.txt
。現在foo.txt
出現在「要提交的更改」的列表中。Git:如何查看文件的舊版本(在將其添加到臨時區域/索引之前)?
現在我想在之前看到我的foo.txt
這些變化。我怎樣才能做到這一點git
?
假設我更改了我的文件foo.txt
並運行git add foo.txt
。現在foo.txt
出現在「要提交的更改」的列表中。Git:如何查看文件的舊版本(在將其添加到臨時區域/索引之前)?
現在我想在之前看到我的foo.txt
這些變化。我怎樣才能做到這一點git
?
你可以做到以下幾點:
git show HEAD:foo.txt
一般情況下,這個語法是從特定看到一個文件提交不接觸你的工作樹是非常有用的。例如,如果你想看到什麼README.txt
就像是在盛大父提交你可以這樣做:
git show f414f31^^:README.txt
更新:如VonC下面的評論中,這裏要注意的是,這裏的路徑必須是很重要即使您目前在一個子目錄中,也是從工作樹的根目錄開始的完整路徑。
但是,當升級改變時,往往更傾向於對差異更感興趣,這是Abizern interpreted your question as asking about。考慮這些命令的一個簡單方法是:
git diff
意思是「我還沒有上演哪些變化?」git diff --cached
表示「我已經上演了哪些變化?」
+1,但作爲http://stackoverflow.com/questions/2108405/branch-descriptions-in-git/2108832提到#2108832,並在這裏說明http://stackoverflow.com/questions/2364147/how-to-get-just-one-file-from-another-branch/2364223#2364223,你需要使用完整的路徑形式的根使用'git show'時的回購目錄。 – VonC
謝謝,VonC - 我已經更新了我的答案,以包含有用的提醒。 –