如果我执行git diff file.php
,则不会得到任何响应。
我总是必须执行git diff --cached file.php
。
为什么--cached无法自动执行,为什么我必须这样做?
我正在使用git版本2.17.0.windows.1
答案 0 :(得分:5)
git diff <file>
将工作目录中的文件与索引中的文件进行比较。
因此,如果您已经(通过git add
将文件从工作目录添加到索引,则:
HEAD
指向)和索引之间存在差异,该差异通过--cached
选项显示。 答案 1 :(得分:3)
git diff
命令的目的是将索引状态与文件系统中存在的文件进行比较。
git diff --cached
命令的作用是将索引的状态与您指向的提交进行比较。
如果您对尚未转换的文件file.php
进行了更改(使用git add
),则应使用git diff
来查看更改。
但是,如果您已经对此文件进行过git add
,则副本中已放置了一个副本,因此要查看更改,您必须使用git diff --cached
命令。