2017-05-15 66 views
0

從man頁面(但我不明白這一點):如果HEAD被分離,那麼git diff與之比較的是什麼?

git的差異--cached [<提交>] [--options] [ - ] [<路徑> ...]

此表單用於查看您爲下一次提交而進行的相對於名爲<提交>的 所做的更改。通常你會想要與最新的提交進行比較,所以 如果你不提供<提交>,它默認爲HEAD。如果HEAD不存在(例如 未出生的分支),並且<未提供>,則會顯示所有分階段更改。--staged是--cached的同義詞。

回答

2

HEAD是否分離也沒有區別。獨立HEAD並不意味着HEAD不可用,只是HEAD指向一些提交直接,而不是分支。

+0

很酷。那麼,我如何找出它與哪個分支進行比較呢?當我輸入git狀態時,它不會告訴我一個分支。或者我可以使用diff將我目前的工作與特定分支進行比較? – Steven2163712

+0

如果你不給'diff'任何參數,你可以和索引進行比較。如果你給它一些commit-ish(分支名稱也是commit-ish),你就可以與你指定的內容進行比較。如果你給兩個承諾,你將這些承諾相互比較。你發佈的變體比較了你的工作樹和某些東西,但是索引反對某些東西,默認情況下是針對HEAD。 – Vampire

+0

'git status'確實告訴分支或 - 如果處於分離模式 - 提交HEAD指向 – Henning

相關問題