
在 Git 中,要查看與之前提交的差異,我會執行以下命令:
git diff HEAD~1
要查看與單一相關的提交,file
我將運行以下命令:
git log --oneline file
但是,如果我執行以下命令,並且我想要引用的檔案在上次提交中沒有更改,Git 不會顯示任何內容。
git diff HEAD~1 file
HEAD
如果該文件未在 指向的引用中提交,如何以類似於特定文件的方式查看差異HEAD
?
答案1
HEAD~1
如果您想查看上次提交與先前提交之間未更改的文件的差異 ( ),則必須明確引用 SHA。
運行日誌以查看您想要查看的一些 SHA
git log --oneline <file>
範例輸出如下:
af46919 刮掉了 - 改為當地的比薩店 b09206c 將醬汁和一瓶胡椒博士添加到清單中 ad90f90 揉麵團並放置過夜
現在,如果您想查看對文件所做的更改的差異,您可以透過看到的第二個 SHA 來引用它。在這種情況下,我們可以從範例中得到:
git diff b09206c <file>
上面是簡寫
git diff b09206c HEAD <file>
或者這樣想:
git diff <start-commit-SHA> <future-commit-SHA> <file>
要將其作為一個命令(例如腳本)運行,您可以執行以下操作:
git log --oneline <file> |awk 'NR==2{print $1}'|xargs -I {} git diff {} <file>