gitk可以显示所有提交除了给定作者的提交吗?

时间:2011-06-13 17:31:06

标签: git version-control history author gitk

我想使用gitk来查看除了给定作者之外的所有提交。如下所示:

gitk --author =!joe

这可能吗?

2 个答案:

答案 0 :(得分:4)

从命令行:

gitk --perl-regexp --author='^(?!jack|jill)'

要排除多位作者的提交:

(?!whatever)

说明:whatever是一个(perl风格)前瞻性正则表达式:它匹配一个未跟^后跟的位置。我们通过"字符串"的开头将它锚定到作者字段的开头。 regexp gitk --perl-regexp

或运行^(?!joe),然后在gitk菜单中选择查看 - >新视图(或简称Shift + F4)并将gitk --perl-regexp写入"作者"字段。

如果您不想总是输入git config --global grep.patternType perl,可以通过运行

将git设置为全局使用perl正则表达式

Sub Test() Dim sTempVal As String For i = 1 to 100 sTempVal = ActiveSheet.Cells(i, 1).Value MsgBox sTempVal Next i

答案 1 :(得分:1)

我认为没有一种非常简单的方法 -

如果你有perl或类似的东西,你可以拼凑一个解决方案:

  1. 获取要排除的提交列表并将其放入哈希值:git rev-list [refs] --author =“[author pattern]”

  2. 获取您要显示的提交列表:git rev-list [refs]

  3. 从您要显示的提交中减去哈希中的项目

  4. 显示您想要显示的提交:gitk --no-walk [减法输出]

  5. 你可以很容易地在perl / python / ruby​​中写一些东西做1-3,然后就这样做

    gitk --no-walk $(drop-author.pl [refs] [author-pattern])