0
從man頁面(但我不明白這一點):如果HEAD被分離,那麼git diff與之比較的是什麼?
git的差異--cached [<提交>] [--options] [ - ] [<路徑> ...]
此表單用於查看您爲下一次提交而進行的相對於名爲<提交>的 所做的更改。通常你會想要與最新的提交進行比較,所以 如果你不提供<提交>,它默認爲HEAD。如果HEAD不存在(例如 未出生的分支),並且<未提供>,則會顯示所有分階段更改。--staged是--cached的同義詞。
很酷。那麼,我如何找出它與哪個分支進行比較呢?當我輸入git狀態時,它不會告訴我一個分支。或者我可以使用diff將我目前的工作與特定分支進行比較? – Steven2163712
如果你不給'diff'任何參數,你可以和索引進行比較。如果你給它一些commit-ish(分支名稱也是commit-ish),你就可以與你指定的內容進行比較。如果你給兩個承諾,你將這些承諾相互比較。你發佈的變體比較了你的工作樹和某些東西,但是索引反對某些東西,默認情況下是針對HEAD。 – Vampire
'git status'確實告訴分支或 - 如果處於分離模式 - 提交HEAD指向 – Henning