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

发布于 2024-11-15 08:43:37 字数 91 浏览 5 评论 0原文

我想使用 gitk 查看除给定作者之外的所有提交。类似于以下内容:

gitk --author=!joe

这可能吗?

I want to use gitk to view all commits except those by a given author. Something like the following:

gitk --author=!joe

Is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绝不放开 2024-11-22 08:43:37

从命令行:

gitk --perl-regexp --author='^(?!joe)'

要排除多个作者的提交:

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

说明:(?!whatever) 是一个(perl 样式)前瞻正则表达式:它匹配后面没有 whatever 的位置。我们通过“字符串开头”正则表达式 ^ 将其锚定到 Author 字段的开头。

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

如果您不想总是输入 gitk --perl-regexp,您可以通过运行

git config --global grep.patternType perl< 将 git 设置为全局使用 perl 正则表达式/代码>

From the command line:

gitk --perl-regexp --author='^(?!joe)'

To exclude commits by several authors:

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

Explanation: (?!whatever) is a (perl-style) look-ahead regular expression: it matches a position not followed by whatever. We anchor it to the beginning of the Author field by the "beginning of string" regexp ^.

Or run gitk --perl-regexp and then in the gitk menu, select View -> New View (or Shift+F4 for short) and write ^(?!joe) into the "Author" field.

If you do not want to always have to type gitk --perl-regexp, you can set up git to globally use perl regular expressions by running

git config --global grep.patternType perl

粉红×色少女 2024-11-22 08:43:37

我认为没有一个非常简单的方法可以做到这一点 -

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

  1. 获取您想要排除的提交列表并将它们放入哈希中: git rev-list [refs] --author="[作者模式]"

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

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

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

你可以很容易地在 perl/python/ruby 中编写一些东西来执行 1-3,然后只需执行

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

I don't think there is a terribly easy way to do it--

If you have perl or something similar, you can piece together a solution:

  1. Get the list of commits you want to exclude and put them in a hash: git rev-list [refs] --author="[author pattern]"

  2. Get the list of commits you want to show: git rev-list [refs]

  3. Subtract the items in the hash from the commits you want to show

  4. Show the commits you do want to show: gitk --no-walk [output of subtraction]

You could write something in perl/python/ruby pretty easily to do 1-3, and then just do

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文