小编典典

如何查看仅包含一个用户提交的 git 日志?

all

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


阅读 112

收藏
2022-02-25

共1个答案

小编典典

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

git log --author="Jon"

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

git log --author=Jon

git log --author=Smith

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

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

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

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

为了排除特定作者或一组作者使用此问题中所述的正则表达式的提交,您可以将否定前瞻--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.

2022-02-25