我如何隐藏“pr”远程分支?

我安装了Windows的GitHub 。 当我运行“git branch -a”时,它显示了许多远程跟踪分支,并且它们看起来是拉取请求。

一位使用Git for Windows的同事没有看到这一点,但另一位同时使用GitHub for Windows的同事也看到了同样的结果。

例如:我分叉了“bootstrap-sass”。 在github.com上,我使用了“桌面克隆”按钮。 它为Windows打开GitHub,并将新的回购添加到本地回购列表中。

运行“git branch -a”,它返回超过100个结果,其中大多数是“/ pr /#”。 下面是一个小样本:

C:gh-uibootstrap-sass [master]> git branch -a
  bower
* master
  remotes/kenshub/2.0-stable
  remotes/kenshub/2.1-stable
  remotes/kenshub/HEAD -> kenshub/master
  remotes/kenshub/gh-pages
  remotes/kenshub/master
  remotes/kenshub/next
  remotes/origin/bower
  remotes/origin/master
  remotes/origin/pr/3
  remotes/origin/pr/4
  remotes/twbs/2.0-stable
  remotes/twbs/2.1-stable
  remotes/twbs/gh-pages
  remotes/twbs/master
  remotes/twbs/next
  remotes/twbs/pr/1
  remotes/twbs/pr/10
  remotes/twbs/pr/103

我猜这是Windows的GitHub。 我如何隐藏“pr”远程分支? 它是git配置,还是“桌面克隆”命令的一部分?


克隆回购时,如果您安装了适用于Windows的GitHub,请勿使用“桌面克隆”选项。 相反,请复制克隆URL并通过命令行运行git clone <url>

当你通过GitHub for Windows克隆时,它会运行额外的命令,如:

fetch origin +refs/pull/*/head:refs/remotes/origin/pr/* +refs/heads/*:refs/remotes/origin/* --prune
status --untracked-files=all --porcelain -z

如果您不想重新克隆回购,请参阅有关删除分支的其他答案,并确保您没有获取参考号获得“/ pr /”分支。 查看你的.git/config文件,或运行git config --list --local


你不能隐藏,你可以删除那些远程追踪分支。
在“你能用Git删除一个命令中的多个分支吗?”之后,你可以尝试类似于:

git branch -D `git for-each-ref --format="%(refname:short)" refs/remotes/*/pr/*`

(或者你可以用awk和xargs使用其他表达式)

这与删除一个远程追踪分支类似。

但要明白这是一个临时解决方案:如果默认配置为fetch = +refs/heads/*:refs/remotes/origin/* ,则下一次获取将带回所有远程分支。
正如“Git内部参考 - 参考规格”中所解释的,您也可以配置多个提取,以便仅引入您想要查看的远程跟踪分支。


也可以手动编辑.git / config文件,不要跟踪所有上游分支,而是跟踪特定分支。

[remote "upstream"]
  url = https://github.com/xyz/xyz.git
  fetch = +refs/heads/*:refs/remotes/upstream/*

用特定分支名称替换'*'

[remote "upstream"]
  url = https://github.com/rsocket/rsocket-java.git
  fetch = +refs/heads/1.0.x:refs/remotes/upstream/1.0.x

然后你需要逐个删除远程追踪分支

git branch -d -r upstream/0.2.x

删除引用 - 这不会删除远程分支,它只是从本地删除。

批量修剪 - 删除远程分支

链接地址: http://www.djcxy.com/p/26105.html

上一篇: How can I hide the "pr" remote branches?

下一篇: Exclude configured refs for git push