【发布时间】:2014-03-05 14:03:34
【问题描述】:
我正在尝试显示最后一次提交和之前提交之间的差异:
git diff HEAD^ HEAD <filename>
但这什么也没显示。事实上,我知道这两个提交之间是有区别的。
我做错了什么,我应该如何纠正?
P.S.:感觉这个问题之前已经讨论过很多次了,但是不知怎么找不到有用的参考。
【问题讨论】:
-
git show是否显示您尝试比较的文件?
标签: git
我正在尝试显示最后一次提交和之前提交之间的差异:
git diff HEAD^ HEAD <filename>
但这什么也没显示。事实上,我知道这两个提交之间是有区别的。
我做错了什么,我应该如何纠正?
P.S.:感觉这个问题之前已经讨论过很多次了,但是不知怎么找不到有用的参考。
【问题讨论】:
git show 是否显示您尝试比较的文件?
标签: git
如果该特定文件在 HEAD^ 和 HEAD 之间没有任何更改,它将不会显示任何内容。
请注意,使用 git1.8.5+,您可以执行以下操作:
git diff @^ -- afile
(@ 表示HEAD)
git log -p -- aFile 将提供所有 SHA1,如果该文件发生更改。
(-p 用于显示差异)
查看文件的最后修改(无需处理 HEAD 或其他 SHA1):
git log -1 -p -- aFile
【讨论】:
git log -- aFile 显示最新提交和之前的提交(与简单的git log 相比)?
git log 正在显示特定文件的提交历史记录。我还认为我暂存了这个特定文件这一事实可能有事可做,但我还在一个我从未接触过的非暂存、未更改的干净文件上进行了测试并得到了相同的行为
您在 HEAD 中对特定文件所做的更改显然不在 HEAD^ 中,否则它根本不会成为提交的一部分。
查看这些更改的命令是:git show HEAD -- <filename>
【讨论】: