我的代码库经历了以下更改:
- ...一些与此无关的提交...
- 提交新文件
foo
,包含100行内容 - ...介于之间的提交,其中一些触及了
foo
... - 将
foo
的内容插入到现有文件bar
的顶部,并在同一次提交中执行git rm foo
- ...更多与此无关的提交...
现在我想查看已删除文件foo
的日志记录。我看过的所有资料,包括SO上的资料都说我应该可以通过git log -- foo
来实现,但是这个命令没有输出。
如果我找到删除foo
的提交,我可以使用git log 1234abcd -- foo
来查看它的日志记录,因此我认为我的路径到foo
不是问题所在。还要注意的是,git merge-base HEAD 1234abcd
输出1234abcd [..。]
,因此我认为这应该证明提交从HEAD
可达。请注意,我的工作目录中没有foo
文件(显然,因为它已被删除)。在OS X上使用Git 1.7.1.1。
为什么git log -- foo
对我不起作用,我该如何解决?谢谢!
git log --follow -- foo
或者git log --follow -M -- foo
吗?(后者会强制进行重命名检测) - VonC--follow
选项,但是在查看history
后我发现我已经使用 cd 命令切换到其他目录了,导致该路径无效。当我从正确的起始点尝试使用git log --follow -- foo
命令时,它确实有效。我想 Git 将foo
滚动到bar
中被视为一种重命名操作?无论如何,非常感谢!如果您将其发布为答案,我很愿意给予您认可。 - user385804--
被改成了—
... - Cascabel