我在Windows下并严格在本地使用GIT作为备份系统。
我有整个Eclipse工作区。
在网上搜索,我发现我需要这样做:
Display changes since last commit:
$ git diff HEAD
我试图了解一些maven插件目标正在做什么。所以我承诺所有的改变。然后我运行maven命令。然后我进入项目目录,该目录位于工作空间目录下,然后运行
git diff HEAD
然后显示整个工作区的更改,实际上除了此目录外没有任何更改。如果我将其重定向到文件,该文件是157M大!
但是,如果我上一个目录,回到工作区,并执行相同操作,那么它只显示项目目录中的更改。这就是我所期望的。
所以我的问题是:
1)为什么,如果我进入子目录,它会显示父目录中发生的变化?
2)当真的只有一个变化时,它会在哪里获得157M的变化?
答案 0 :(得分:1)
在git存储库中的任何地方调用没有路径参数的git diff
将显示整个存储库的差异,而不仅仅是当前目录(这与Subversion的行为不同)。
如果您在不同目录中获得git diff HEAD
的不同输出,则表示您正在移动到其他存储库(或者您实际上并未运行 exact 相同的命令)。