查找最新提交,包含已删除行的内容
gitblame 命令提供了一个 --reverse 选项,它接收一系列提交并显示在删除之前包含该行的最新提交。
要找到包含已删除行的最新提交,我们需要找到该行完全包含其中的提交。
然后,我们应该将包含该行的提交设置为范围的起点,并将 HEAD 设置为结束观点。
git blame --reverse <sha1-commit-hash>..HEAD path/to/file
这显示了该行所在的最新版本。
git 日志命令
git log 命令是一个 Git 工具,用于检查存储库的历史记录并查找项目的特定版本。
它显示已提交的快照。
它列出并过滤项目历史并搜索特定更改。
与 git status 相比,git log 仅适用于已提交的历史记录,后者也适用于工作目录和暂存区。
git blame 命令
Git 推荐了一个很棒的工具,即 git blame,它可以探索文件历史并找出最后更改文件一行的作者。
git blame --reverse 命令接近删除行的位置。
它不指向删除该行的修订版,而是指向该行所在的最后一个修订版。
git blame 命令显示最后更改一行的作者。
但是我们怎样才能找出谁删除了整行呢?
让我们探索可以帮助解决此问题的命令。
查找包含已删除行内容的提交
如果你知道被删除行的内容,你应该运行 git log 来显示它所包含的提交。
git log -S <string> path/to/file
要获得更具描述性的视图,我们可以添加 -c 选项。
我们可以通过将 -S 更改为 -G 来使用正则表达式,而不是字符串,如下所示:
git log -G <regex> path/to/file
日期:2020-06-02 22:16:40 来源:oir作者:oir
