我安装了用于Windows的 GitHub 。当我运行“git branch -a”时,它会显示许多远程跟踪分支,它们似乎是拉取请求。
对Windows使用 Git 的一位同事看不到这一点,但另一位同时使用 GitHub 的同事看到了相同的结果。
示例:我分叉了“bootstrap-sass”。在github.com上,我使用了“Clone in desktop”按钮。它打开GitHub for Windows,并将新的repo添加到我的本地回购列表中。
运行“git branch -a”,它返回100多个结果,其中大多数是“/ pr /#”。以下是一个小样本:
C:\gh-ui\bootstrap-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配置,还是“Clone in desktop”命令的一部分?
答案 0 :(得分:1)
克隆存储库时,如果安装了GitHub for Windows,请不要使用“在桌面克隆”选项。而是复制克隆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
如果您不想重新克隆存储库,请参阅有关删除分支的其他答案,并确保您没有获取refs congif来获取“/ pr /”分支。查看您的.git/config
文件,或运行git config --list --local
。
答案 1 :(得分:0)
你无法隐藏,你可以删除那些远程跟踪分支 在“Can you delete multiple branches in one command with Git?”之后,您可以尝试类似的内容:
git branch -D `git for-each-ref --format="%(refname:short)" refs/remotes/*/pr/*`
(或者您可以使用other expressions with awk and xargs)
这类似于deleting one remote tracking branch。
但要明白这是一个临时解决方案:如果默认配置fetch = +refs/heads/*:refs/remotes/origin/*
,下次提取会带回所有遥控器分支。
如“Git Internals - The Refspec”中所述,您还可以配置多次提取,以便仅显示您想要查看的远程跟踪分支。
答案 2 :(得分:0)
也可以手动编辑.git / config文件,不要跟踪所有上游分支,但不能跟踪特定分支。
[remote "upstream"]
url = https://github.com/xyz/xyz.git
fetch = +refs/heads/*:refs/remotes/upstream/*
替换&#39; *&#39;具有特定分支名称
[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
Deleting the references - 这不会删除远程分支,只会从本地删除。
Batch pruning - 这会删除远程分支