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

Vin*_*eib 29 git

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

然而,git blame <file>git gui blame <file>不工作文件已被删除后.错误将显示为:

fatal: cannot stat path 'file': No such file or directory
Run Code Online (Sandbox Code Playgroud)

如何归咎于删除的文件?

Vin*_*eib 25

git责备

git blame提供包含该文件的提交引用时工作.使用日志查找最新的:

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

 fffffff deleting file.txt
 eeeeeee Last change to file.txt before deleting.
Run Code Online (Sandbox Code Playgroud)

然后责怪父提交:

$ git blame eeeeeee -- example/path/file.txt
Run Code Online (Sandbox Code Playgroud)

git gui责备

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

$ git gui blame eeeeeee example/path/file.txt
Run Code Online (Sandbox Code Playgroud)

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