也许我提问的方式不对,但我找不到如何做到这一点的信息。我有一个大的git仓库,里面有很多人在过去两年里提交的许多提交记录。是否有任何方法可以查询git提交历史记录?我是一个SQL专家,所以我习惯使用SQL来查询数据库(甚至是使用grep或find来查询文件系统)。
以下是我想运行的示例查询:
- 所有消息中包含文本“xyz”的提交 - 所有消息类似于“%xyz”的提交 - 所有由用户person@company.com完成的提交 - 所有子提交为1234abcd的提交 - 日期1和日期2之间的所有提交 - 上述查询的AND/OR组合
如果我甚至可以导出git日志,那么我可以使用其他工具来获取大部分信息(虽然祖先查询/按分支查询可能会很困难)。有时候只需快速转到命令行并进行查询即可尝试查找很久以前的提交。
以下是我想运行的示例查询:
- 所有消息中包含文本“xyz”的提交 - 所有消息类似于“%xyz”的提交 - 所有由用户person@company.com完成的提交 - 所有子提交为1234abcd的提交 - 日期1和日期2之间的所有提交 - 上述查询的AND/OR组合
如果我甚至可以导出git日志,那么我可以使用其他工具来获取大部分信息(虽然祖先查询/按分支查询可能会很困难)。有时候只需快速转到命令行并进行查询即可尝试查找很久以前的提交。
git log
参数,类似于这个和这个。如果您阅读了关于git log
的文档,您会发现有很多这样的选项。 - Cory Kramer