如何解决如果有的话,'git diff' 的简写是什么?
如果我修改一个文件并执行 git diff
,我会在终端中看到差异。
如果我然后暂存修改后的文件并再次执行 git diff
,则没有差异。如果我改为执行 git diff HEAD
,我会在终端中看到差异,就像在暂存之前一样。
那么 git diff
的简写是什么?我认为它与 git diff HEAD
相同,但显然不是。
解决方法
git diff
将工作树(磁盘上的文件)与索引(分阶段修改)进行比较。
AFAIK,它不是任何其他参数组合的简写。
文档的 examples section 很好地解释了“比较最新更改”命令的微妙之处:
检查工作树的各种方法
$ git diff (1)
$ git diff --cached (2)
$ git diff HEAD (3)
- 尚未为下一次提交暂存工作树中的更改。
- 索引和上次提交之间的变化;如果您在没有
git commit
选项的情况下运行-a
,您会提交什么。 - 自上次提交以来工作树的变化;如果你运行
git commit -a
你会提交什么
在该列表中:(2)
是 git diff --cached HEAD
的简写,但我不知道还有其他写法 (1)
或 (3)
。
documentation 总结得非常好。
对于 git diff
此表单用于查看您相对于索引所做的更改(下一次提交的暂存区)。换句话说,差异就是你可以告诉 Git 进一步添加到索引中,但你仍然没有。
并且 git diff HEAD
将向您展示索引与 HEAD 作为工作树上的最后一次提交之间的区别。
但引用documentation:
自上次提交以来工作树的变化;如果你运行 git commit -a
你会提交什么版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。