Git指责删除了部分

  • 本文关键字:删除 Git git git-blame
  • 更新时间 :
  • 英文 :


我需要知道谁以及何时使用git删除了源文件的某些部分。不幸的是,git指责似乎不会直接向我表明这一点,因为在当前的修订版中,文件中完全没有上述部分。有什么建议吗?

您可以在具有特定字符串的行中找到更改某些内容的提交。这样你就可以看到哪个提交删除了某行,如果你知道它的内容是

git log -S <string> path/to/file

为了找到这些行是如何写的,你可以在一些非常旧的提交中看到你的文件:

git show old-commit-hash^:src/path/to/file

这里有几个选项:

  1. 使用git log-G选项来查找添加删除的提交,其中一行与已删除的代码匹配:
    git log -G"code that was deleted"
    
    其中指定的字符串也可以是正则表达式
  2. 使用具有行范围的-L选项可以查找修改这些行的提交:
    git log -L10,20:path/to/file
    
    将列出在path/to/file中的1020行之间修改代码的提交
  3. 使用带有已删除函数名称的-L选项:
    git log -Lfoo:path/to/file
    
    将列出修改CCD_ 9中CCD_ 8函数的提交

一旦您知道删除该代码的提交,您就可以很容易地确定作者。

相关内容

  • 没有找到相关文章

最新更新