按照我的理解 git diff是用來比較作業目錄和暫存區之間的檔案。然而,如果我在暫存區沒有任何暫存的修改,同樣的命令git diff會比較作業目錄和HEAD之間的檔案。
為什么同一個命令(git diff)會有兩個不同的輸出?
我如何在作業目錄和暫存區之間實際進行比較?
uj5u.com熱心網友回復:
首先,有一點需要澄清 :
在git中,當人們談到 "暫存區域 "或 "索引 "中的檔案時,它們實際上是指:
- 在
- 加上潛在的
git add的修改。
HEAD提交中的檔案,
所以 "暫存區域沒有修改 "的意思是:
"暫存區域與HEAD相同"。
考慮到這一點,你可以重新閱讀VonC發布的圖表 :
git diff將顯示作業樹和暫存區(索引)之間的差異;- 當沒有額外的修改快取時,"索引 "與
HEAD相同 -- 因此,git diff將確實顯示HEAD和你的作業樹之間的差異; - 總是顯示"
HEAD和你的作業樹之間的差異 "的命令(并且不考慮索引)是。git diff HEAD
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/325037.html
標籤:
上一篇:ORACLESQL|如果一個列包含一個值,那么它將排除同一列的不同值
下一篇:如何疊加兩個ggplots
