使用时git log,如何按用户过滤,以便只看到该用户的提交?
git log
这适用于gitkgit log - 查看历史的两种最常见的方式。 您不需要使用全名:
git log --author="Jon"
将匹配“Jonathan Smith”所做的提交
git log --author=Jon
和
git log --author=Smith
也可以。如果您不需要任何空格,引号是可选的。
如果您--all打算搜索所有分支,而不仅仅是在您的存储库中搜索当前提交的祖先,请添加。
--all
您还可以轻松匹配多个作者,因为正则表达式是此过滤器的基础机制。所以要列出乔纳森或亚当的提交,你可以这样做:
git log --author="\(Adam\)\|\(Jon\)"
为了排除特定作者或一组作者使用此问题中所述的正则表达式的提交,您可以将否定前瞻与--perl-regexp开关结合使用:
--perl-regexp
git log --author='^(?!Adam|Jon).*$' --perl-regexp
bash或者,您可以通过使用和管道排除 Adam 创作的提交:
bash
git log --format='%H %an' | grep -v Adam | cut -d ' ' -f1 | xargs -n1 git log -1
如果您想排除 Adam 提交(但不一定是作者)的提交,请替换%an为%cn.
%an
%cn