我想使用 gitk 查看所有提交,除了给定作者的提交。类似于以下内容:
gitk --author=!joe
这可能吗?
我想使用 gitk 查看所有提交,除了给定作者的提交。类似于以下内容:
gitk --author=!joe
这可能吗?
从命令行:
gitk --perl-regexp --author='^(?!joe)'
要排除多个作者的提交:
gitk --perl-regexp --author='^(?!jack|jill)'
解释:(?!whatever)
是一个(perl 风格的)前瞻正则表达式:它匹配一个不跟随的位置whatever
。我们通过“字符串开头”正则表达式将其锚定到 Author 字段的开头^
。
或者运行gitk --perl-regexp
,然后在 gitk 菜单中,选择 View -> New View(或简称 Shift+F4)并写入^(?!joe)
“Author”字段。
如果您不想总是输入gitk --perl-regexp
,您可以通过运行设置 git 以全局使用 perl 正则表达式
git config --global grep.patternType perl
我不认为有一个非常简单的方法来做到这一点——
如果你有 perl 或类似的东西,你可以拼凑出一个解决方案:
获取要排除的提交列表并将它们放在哈希中: git rev-list [refs] --author="[author pattern]"
获取要显示的提交列表: git rev-list [refs]
从您要显示的提交中减去哈希中的项目
显示你想要显示的提交: gitk --no-walk [减法输出]
你可以很容易地在 perl/python/ruby 中写一些东西来做 1-3,然后就做
gitk --no-walk $(drop-author.pl [refs] [author-pattern])