从`gitbranch-a`输出中删除不需要的分支

问题描述 投票:0回答:1

我运行了

git fetch remote --all
,现在当我运行
git branch -a
时,它会吐出大量我不关心的远程分支。如何有选择地从此输出中删除分支?遥控器上的所有分支都是活动的、有效的分支。我只是不关心其中的大多数,所以我想将它们从我的本地系统中删除。

例如,我得到类似于“

  remotes/xxx/RELEASE/12.1
  remotes/xxx/RELEASE/12.1.1
  remotes/xxx/RELEASE/12.2
  remotes/xxx/RELEASE/12.3
  remotes/xxx/RELEASE/12.3.1
  remotes/xxx/RELEASE/12.4
  remotes/xxx/RELEASE/12.4.1
  remotes/xxx/master
  remotes/origin/HEAD -> origin/master
  remotes/origin/RELEASE/12.4.1
  remotes/origin/feat/yarn-upgrade
  remotes/origin/fix/hide-homepage
  remotes/origin/master

在此示例中,我不关心来自

xxx
远程的任何 12.1、12.2 或 12.3 分支。

如何将它们从此列表中删除?它们无法从远程删除,因为它们仍然是有效的分支。我已经修剪了所有陈旧的树枝。

git
1个回答
0
投票

您可以使用

git branch -d --remote <remote branch>
删除不需要的远程分支,但随后它们将随您的下一个
git fetch
返回。

要维护修剪列表,您必须小心地仅获取您感兴趣的分支。您可以获取特定分支,例如

git fetch origin <this branch> <that branch>
,但单个
git fetch
将撤消您的工作。

相反,

git fetch
 中配置 
.git/config 的默认值。假设您只想获取 master 和 RELEASE/12.4.1.

[remote "origin"]
        url = [email protected]:ruby/ruby.git
        fetch = refs/heads/master
        fetch = refs/heads/RELEASE/12.4.1

注意 Git 中的分支非常便宜。 IMO 这不值得付出努力。

© www.soinside.com 2019 - 2024. All rights reserved.