有没有办法在GitK中排除分支?

Not*_*Man 6 git branch gitk

有时当我使用GitK时,我不关心的分支上有很多提交,它们往往妨碍我正在做的事情.

能够指定我想要的分支,或者指定我想要排除的分支,这将是很好的.

这可能吗?

Tho*_*ley 12

您可以通过将它们指定为gitk命令的参数来指定所需的分支.我假设你已经在使用--all,但你可能有兴趣知道它还有一个--not标志......虽然它有一些副作用,但在大多数情况下都不太有用.

考虑一个如下所示的存储库:

git checkout feature-B
gitk --all
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果您没有指定参数,那么您只能得到您所在的分支:

gitk
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果指定多个分支,则会获得这些分支,以及完全合并的分支(即它们不会"伸出").例如,在这里我有feature-B,feature-C,随着全面整合feature-Amaster,但没有feature-D:

gitk feature-B feature-C
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

最后,您可以使用该--not标志忽略分支.然而,因为一个分支是指所有导致了它的提交,该--not标志将忽略一些对你的分支机构提交指定.

gitk feature-B --not feature-D
gitk --all --not feature-D feature-C
Run Code Online (Sandbox Code Playgroud)

这两个都会给你:

在此输入图像描述

这里,提交Initial commit并被1忽略,因为它们属于分支feature-D.2出于同样的原因,也会忽略Commit ,但是显示为空提交,因为将提交显示3为分支中的初始提交是不正确和误导的.这个标志有时会有所帮助,但我通常不会发现自己使用它.

  • 你的`--not`例子有点令人困惑,因为`gitk feature-B`无论如何都不会显示feature-D,所以添加`--not`只会在你打算*得到它时才会有用结果你表明.你的批评的一个更好的例子可能是`gitk --all - not feature-D`. (2认同)
  • 哈哈,避免编辑图像的聪明方法:)顺便说一句,我很好奇`--not`的替代方案是否存在,所以我发布了这个问题:http://stackoverflow.com/q/20979339/430128 (2认同)