如何让gitk只显示本地分支?

Ser*_*rov 11 git gitk git-branch

如何让gitk只显示本地分支?甚至更好 - 我可以隐藏没有相应本地分支的远程分支吗?

小智 13

您可以创建一个新的"视图",只显示如下的本地分支:

  1. 转到视图 - >新视图...(或按Shift-F4)
  2. 在出现的对话框中,为"查看名称"提供有意义的内容,例如"本地分支"
  3. 选中"参考"区域中的"所有(本地)分支"
  4. 选中"记住此视图"以保存这些设置以供将来启动

现在,您应该在"视图"菜单中看到"本地分支"选项.选择此视图将仅显示本地分支中的提交.请注意,您仍然可以看到远程分支标签,但前提是它们指向的提交位于本地分支中.


Dan*_*den 6

因为我在搜索中发现了这个问题,所接受的答案对我来说不起作用,我最终找到了一个解决方案,我想我会分享:

gitk --argscmd='git for-each-ref --format="%(refname)" refs/heads'
Run Code Online (Sandbox Code Playgroud)

如果添加分支然后使用F5刷新正在运行的gitk,它甚至会更新.您还可以包含标签:

gitk --argscmd='git for-each-ref --format="%(refname)" refs/heads refs/tags'
Run Code Online (Sandbox Code Playgroud)

或者使用rev-list(更短但有点作弊):

gitk --argscmd='git rev-list --no-walk --branches --tags'
Run Code Online (Sandbox Code Playgroud)


Ser*_*rov -2

经过一番尝试,我找到了解决方案。以下命令有效:

echo $(git branch) | gitk
Run Code Online (Sandbox Code Playgroud)

它仅显示那些具有相应本地分支的远程分支。使用它很重要echo $(git branch),因为它强制branch返回分支的原始列表,而不是格式化输出,如下所示:

$ git branch
  develop
  release-M4.1
  vendor
* xflow
Run Code Online (Sandbox Code Playgroud)

  • 这似乎与 shell 相关,而不是与“git”有关。当我在“bash”或“ksh”中运行它时,我看到“*”扩展为文件名,但当我在“zsh”中运行它时,“*”被保留下来。 (2认同)