Git 如何循环通过所有远程分支并忽略头部

Git 如何循环通过所有远程分支并忽略头部,git,Git,当我检查我的远程分支时 git branch -r remotes/1 remotes/2 remotes/HEAD -> origin/master remotes/3 remotes/4 remotes/5 我想用一个命令签出所有远程分支。我可以循环查看git branch-r的输出,但是它显示了HEAD-->origin/master部分的问题,我想忽略它: error: unknown switch `>' usage: git checkout

当我检查我的远程分支时

git branch -r

  remotes/1
  remotes/2
  remotes/HEAD -> origin/master
  remotes/3
  remotes/4
  remotes/5
我想用一个命令签出所有远程分支。我可以循环查看
git branch-r
的输出,但是它显示了
HEAD-->origin/master
部分的问题,我想忽略它:

error: unknown switch `>'
usage: git checkout [<options>] <branch>
   or: git checkout [<options>] [<branch>] -- <file>...
错误:未知开关“>”
用法:git checkout[]
或:git签出[][]-。。。

有没有办法忽略该部分?

最稳定的方法是通过awk从答案中读取字段:

git branch -r | awk '{print $1}' | awk -F/ '{print "remote="$1"; branch="$2";" }' | while read l
do eval $l
    echo git checkout -b $branch $remote/$branch
done

或者类似的东西。

Try
git branch-r|grep-v“->”
sed的@([^/]*)/(.*)@remote=\1;branch=\2@'处理包含
/
的分支。