我的存储库经历了以下更改:
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适合我,我该如何解决?谢谢!
Nat*_*eyn 118
您希望使用--follow选项on git log,该选项在手册页中描述为:
Continue listing the history of a file beyond renames.
Run Code Online (Sandbox Code Playgroud)
实际上,这不仅可以让您查看重命名文件的历史记录,而且还允许您查看工作树中不再存在的文件的历史记录.所以你应该使用的命令应该类似于:
git log --follow -- foo
Run Code Online (Sandbox Code Playgroud)
更新:
Git 2.9+现在默认为所有git diff和git log命令启用了这个:
默认情况下,"git diff"和"git log"系列中面向Porcelain级别命令的最终用户启用重命名检测; 你仍然可以使用"diff.renames"配置变量来禁用它.
感谢x-yuri的抬头!
| 归档时间: |
|
| 查看次数: |
23571 次 |
| 最近记录: |