滿天的星座2017-05-02 09:29:13
git diff --cached
git diff --cached
解释一下,git diff
对比的是 working tree 和 HEAD 之间的。而你这个应该是 git add
之后了,所以需要对比 staged 和 HEAD 之间,加 --cached
就是为了这个。
OK,之前没仔细看题目里的过程,以上回答有误,感谢 @jokester 提醒。
接着复刻了一遍题主的过程,结果如下:
结果就是 git diff
没有问题,为了保障整个过程没有疏漏所以附上的是完整截图,题主可以对照看看问题在哪儿。
另外我注意到题主在重新编辑 foo
之后没有 git add
的情况下使用的是 git diff --cached
命令,这恰恰符合我之前答案提到的(我是理解反了题目的诉求),所以不要加 --cached
git diff
は作業ツリーと HEAD を比較します。そして、あなたのものは git add
の後にあるはずなので、staged と HEAD を比較し、この目的のために --cached
を追加する必要があります。 <時間> OK、質問のプロセスをよく読んでいなかったので、上記の答えは間違っています、思い出させてくれた @jokester に感謝します。 次に、質問のプロセスを再現した結果は次のとおりです。
#🎜🎜##🎜🎜##🎜🎜##🎜🎜# #🎜🎜#結果は、git diff
に問題がないことを確認するために、完全なスクリーンショットを添付して確認します。問題はどこにあるのか。 #🎜🎜#
#🎜🎜# さらに、質問者は git add
コマンドを使用せずに foo
を再編集した後、 git diff --cached
を使用していることに気付きました。これは前の回答で述べたことと正確に一致しています (質問の目的は理解しています)。--cached
を追加しないでください。比較を添付します: #🎜🎜#
#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#