gpt4 book ai didi

linux - 使用gitk时仅显示某些标签?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:55:02 24 4
gpt4 key购买 nike

存储库中的每个提交都有一个与之关联的标记。在一个分支上有很多名字中有“b7”的标签。我可以运行gitk并排除所有这些“b7”标记吗?相反,如何运行gitk并仅显示其中包含“b7”的提交?
我厌倦了做gitk --all和得到一堆额外的绒毛。

最佳答案

我在写这篇文章的中途想到,也许您希望显示提交,但只希望其中一些提交不显示指向它们的标记。这回答了一个问题:“我如何看到所有提交都可以从某些或所有分支访问,但不能从某些标记(这些标记也不能从这些分支访问)访问?”是的。
gitk采用与选择要显示的提交相同的选项。因此,您可以提供git-rev-list和/或--all,而不是--branches,它们都接受“pattern”参数。
不幸的是,模式参数是shell glob样式的模式,其中很容易包含那些包含--tagsB7将起作用)但很难排除那些包含*B7*嵌入在其中任意位置的内容的模式。如果B7位于名称的开头或结尾,则不太困难,尽管仍有点混乱:B7可能足以匹配两个或多个不以--tags="[AC-Za-z]*" --tags="B[A-Za-z0-689]*"开头的字符标记(还可以添加B7以包含一个字符标记)。
(这里的双引号是为了防止shell试图展开shell样式的globs,尽管在大多数shell变体中,只要[当前目录中]没有名称以--tags="?"开头的文件,您就可以不用它们了。)
为了获得充分的灵活性,可以使用< > >或< > >枚举引用,通过类似于“cc”之类的内容来引用或排除任意正则表达式,并将结果作为参数传递给< > cc >。例如,要查看所有分支上的所有提交,加上

gitk --branches $(git for-each-ref --format='%(refname:short)' refs/tags/ |
grep -v B7)

(不是实际测试的,但很简单,应该可以工作,假设 --tags=git for-each-ref外壳)。
(对于 git show-refgrep -v,将所有内容放在一行上,或在换行之前使用反斜杠;并将 gitk替换为 sh。后引号版本在语法上通常较低,因为它不能嵌套,但在这种情况下会这样做。即使我使用tcsh作为交互式shell,我还是切换到sh来编写脚本。)

关于linux - 使用gitk时仅显示某些标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21057786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com