git diff和gif diff-index有什么区别

myy*_*200 13 git

当我想获取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也是如此.

  • @将在索引中准备下一次提交。Linux Torvalds在2005年制作Git时,需要一个工具,在该工具中他可以添加多个更改而忽略其他更改,以准备下一次Linux代码提交。有关更多信息:http://stackoverflow.com/a/4086986/6309 (2认同)