要查看 Git 仓库中某个作者的提交记录,可以使用 git log
命令结合 --author
选项。以下是具体用法和示例:
基础命令
git log --author="作者名"
- 作用:列出指定作者的所有提交记录。
- 示例:查找作者名为
John Doe
的提交:git log --author="John Doe"
关键细节
-
模糊匹配:
- 使用正则表达式时,可以匹配部分名字(不区分大小写)。
- 例如:查找所有作者名包含
john
的提交(忽略大小写):git log --author="john" --regexp-ignore-case
-
简化输出:
- 添加
--oneline
选项,简化输出信息:git log --author="John" --oneline
- 添加
-
限制提交数量:
- 使用
-n
限制显示最近的 N 条提交:git log --author="John" -n 5 # 显示最近的 5 条
- 使用
-
匹配邮箱:
- 如果提交者的邮箱是
john@example.com
,可以直接用邮箱过滤:git log --author="john@example.com"
- 如果提交者的邮箱是
常见问题
-
问题:为什么命令没有结果?
- 原因:作者名可能与记录中的格式不一致(如大小写、空格、全名/缩写)。
- 解决:先查看所有提交,确认作者名:
git log | grep Author: # 列出所有作者名
-
问题:如何同时过滤作者和时间?
- 示例:查找作者
John
在 2023 年的提交:git log --author="John" --since="2023-01-01" --until="2023-12-31"
- 示例:查找作者
扩展命令
-
统计某作者的提交数量:
git shortlog -s -n --author="John" # -s 统计数量,-n 按数量排序
-
查看代码变更详情:
git log --author="John" -p # -p 显示代码差异
通过上述命令,你可以高效地追踪特定作者的提交记录。如果需要更复杂的过滤,可以结合 grep
或其他 Git 选项。