所以也许我问问题的方式是错误的,但我找不到有关如何做到这一点的信息。我有一个大型 git 存储库,其中有许多人在过去两年中进行了许多提交。有没有人曾经想出一种方法来查询 git 提交历史记录?我是一个 SQL 专家,所以我习惯使用 SQL 来查询数据库(甚至使用 grep 或 find 来查询我的文件系统)。
这些是我想运行的示例查询:
如果我什至可以导出 git 日志,那么我可以使用不同的工具来获取大部分信息(尽管祖先查询/按分支查询可能很困难)。有时,最好直接进入命令行并快速查询以尝试找到不久前的提交。
您可以使用git-log 文档git log中解释的各种开关,例如:
消息包含文本“xyz”的所有提交将是:
git log --grep=xyz
Run Code Online (Sandbox Code Playgroud)
--grep=<pattern> 将提交输出限制为日志消息与指定模式(正则表达式)匹配的输出。如果有多个 --grep=<pattern>,则选择其消息与任何给定模式匹配的提交(但请参阅 --all-match)。
用户 person@company.com 完成的所有提交将是:
git log --author=person@company.com
Run Code Online (Sandbox Code Playgroud)
--author=<pattern> --committer=<pattern> 将提交输出限制为作者/提交者标题行与指定模式(正则表达式)匹配的输出。如果有多个 --author=<pattern>,则选择作者与任何给定模式匹配的提交(对于多个 --committer=<pattern> 也类似)。
等等基于git-log docs。