git - 如何查看只有一个用户提交的 git 日志?

标签 git version-control git-log

当使用 git log 时,如何按用户过滤以便我只看到来自该用户的提交?

最佳答案

这适用于 git loggitk - 查看历史记录的两种最常见方式。
您不需要使用全名:

git log --author="Jon"

将匹配“Jonathan Smith”所做的提交

git log --author=Jon

git log --author=Smith

也可以。如果不需要任何空格,引号是可选的。

添加 --all 如果您打算在您的存储库中搜索所有分支而不仅仅是当前提交的祖先。

您还可以轻松匹配多个作者,因为正则表达式是此过滤器的基础机制。因此,要列出 Jonathan 或 Adam 的提交,您可以这样做:

git log --author="\(Adam\)\|\(Jon\)"

为了排除特定作者或一组作者使用正则表达式的提交,如前所述 in this question , 你可以使用 negative lookahead结合 --perl-regexp 开关:

git log --author='^(?!Adam|Jon).*$' --perl-regexp

或者,您可以使用 bash 和管道排除由 Adam 编写的提交:

git log --format='%H %an' | 
  grep -v Adam | 
  cut -d ' ' -f1 | 
  xargs -n1 git log -1

如果您想排除由 Adam 提交(但不一定是作者)的提交,请将 %an 替换为 %cn。有关此的更多详细信息,请参阅我的博客文章:http://dymitruk.com/blog/2012/07/18/filtering-by-author-name/

关于git - 如何查看只有一个用户提交的 git 日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4259996/

相关文章:

git - 将更改的文件从功能 merge 到修补程序 git 流

git - 查看未推送到远程的本地提交的 git 更改/差异

git - `git log --name-only` 显示合作者

git - 如何让 git 接受自签名证书?

git - 如何将文档与 Github Pages 同步?

css - 额外的、未使用的 CSS 定义会降低浏览器的速度吗?

git - 如何在 Windows Git Gui 中执行 'git log'?

git - 确保 github PR squash merge 提交评论包含问题 ID

git - 如何检测git中的分支点?

version-control - 是否可以从 Fossil SCM 导出到其他 DVCS?