Git blame在调查文件中的代码是某种特定方式时会有所帮助。 git gui甚至更好,因为它允许你及时倒退,以便在添加代码时查看文件的上下文。
但是,删除文件后git blame <file>
和git gui blame <file>
不起作用。错误将显示为:
fatal: cannot stat path 'file': No such file or directory
如何归咎于删除的文件?
答案 0 :(得分:19)
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 -2
和eeeeeee
代替fffffff^
,因为git gui blame
无法处理fffffff^:example/path/file.txt
)