git - 如何查找哪些提交删除了包含特定字符串的行?

标签 git

我的代码中的任何地方都不再引用一个文件。我正在寻找查找哪些提交删除了对此文件的引用。 (我不知道哪些文件曾引用过它)。

我知道 git log -S 会找到添加或删除此字符串的提交。我真正想要的是能够将此搜索限制为仅删除那些行。这可能吗?

最佳答案

我希望看到一个更简单的解决方案。但是使用一些 shell 脚本它看起来像:

for id in $(git log -Sstring --pretty=%h)
do
  if [ "$(git show $id | grep "+.*string")" != "" ]
  then
    echo $id
  fi
done

关于git - 如何查找哪些提交删除了包含特定字符串的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31566687/

相关文章:

git - Bitbucket gnutls_handshake() 失败 : Error in the pull function

java - 如何以编程方式将静态 html 页面部署到 heroku?

git - 为什么 merge 删除后Git特性分支仍然可见?

GitHub 包含来自另一个存储库

git - TortoiseGit - 找不到 git

Git:如何为给定的存储库设置非标准的 SSH 私钥路径

ruby-on-rails - 如何解决 Gitlab 上的 502 错误?

git - 未更改的文件在 git stash 后显示在未暂存列表中

ios - 如何使 Xcode 中的 Swift 文件编译成为可选?

python - 如何编写 setup.py 以包含 Git 存储库作为依赖项