当我想获取git diff文件时,我发现有人使用
git diff-index --cached --diff-filter=AM --name-only HEAD
Run Code Online (Sandbox Code Playgroud)
如果我使用
git diff --cached --diff-filter=AM --name-only HEAD
Run Code Online (Sandbox Code Playgroud)
可以得到相同的结果.那么git diff和之间的区别是git diff-index什么?当你必须使用git diff-index但不是git diff吗?
Von*_*onC 10
git diff-index 是索引或工作树的差异:
将树对象中找到的blob的内容和模式与工作树中相应的跟踪文件或索引中的相应路径进行比较
git diff 更通用,可以比较两个文件,或两个提交,或(如差异索引)树和索引.
在你的情况下,diff HEAD确实会对指数进行差异化处理,这diff-index也是如此.