我们可以看到存储库和工作目录之间的区别:
git diff
我们可以看到存储库和分段索引与:
之间存在差异git diff --staged
但我们如何看待工作目录和分段索引之间的区别?
答案 0 :(得分:17)
实际上,git diff
位于索引和工作树之间。只有在您对索引进行了阶段性更改(使用git add
)之后,其内容才会与HEAD
提交相同。
git diff HEAD
介于回购和工作树之间。
答案 1 :(得分:1)
为了说明这一点,我更改了一个带有“名称暂存”文本的文件,然后添加了它(git add。)。之后,我再次更改了文件,现在将文本替换为“ Name Working Area”,然后运行以下命令:
现在您可以清楚地看到它的工作原理。很酷吧?
答案 2 :(得分:1)
受到@VonC 接受的答案的启发,您还可以这样写:
git diff HEAD
这将打开一个目录差异,显示您的工作树和存储库之间的差异。从那里可以很容易地查看对单个文件的更改(例如,当使用像 Beyond Compare 这样的工具及其选项卡式 UI 时)。