如何在git中归咎于删除的文件?

时间:2016-05-07 03:38:59

标签: git

Git blame在调查文件中的代码是某种特定方式时会有所帮助。 git gui甚至更好,因为它允许你及时倒退,以便在添加代码时查看文件的上下文。

但是,删除文件后git blame <file>git gui blame <file>不起作用。错误将显示为:

fatal: cannot stat path 'file': No such file or directory

如何归咎于删除的文件?

1 个答案:

答案 0 :(得分:19)

git blame

git blame在提供包含该文件的提交引用时有效。使用日志找到最新的:

$ git log -2 --oneline -- example/path/file.txt

 fffffff deleting file.txt
 eeeeeee Last change to file.txt before deleting.

然后责怪父提交:

$ git blame eeeeeee -- example/path/file.txt
然而,

git gui blame不会以这种方式工作。解决方法是在包含该文件的最后一次提交时浏览存储库,然后从GUI中选择文件并启动责备查看器:

$ git gui blame eeeeeee example/path/file.txt

(注意:使用log -2eeeeeee代替fffffff^,因为git gui blame无法处理fffffff^:example/path/file.txt