为什么我看不到对特定文件所做的更改?

时间:2014-12-22 10:29:58

标签: git git-log

当我运行git log时,我可以看到我几天前创建的提交,其中包含对某个文件的更改(让我们称之为x.txt)。

但是,当我运行git log -p x.txt时,它应该显示此文件的git更改,我看不到有问题的提交。

如何解释这种情况?

1 个答案:

答案 0 :(得分:2)

git log -p实际上使用git diff选项(--patch

如果git log -- x.txt没有显示所有预期的提交,那么它只是意味着提交没有为该文件引入任何差异。
该提交的git diff -- x.txt为空。

extensive discussion之后,这项工作(这意味着x.txt在某个时候被重命名或移动):

git log --follow -M -p -- x.txt

另一种情况是git log -p -- x.txt不包含提交:

-p选项会将提交与给定文件的前一个提交进行比较,除非该文件已创建(在这种情况下,该文件之前没有提交)< / p>

这意味着git log -p -- x.txt在最初添加文件时不会包含第一次提交。
那&#34;差异&#34;只是x.txt的完整内容。


在OP Yarin Gold的案例中,但是:

在OS X(10.9.5)上使用git版本1.9.3(Apple Git-50)的所有内容。