如何遍历所有远程分支并忽略HEAD

时间:2017-05-31 09:51:21

标签: 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 [<options>] <branch>
   or: git checkout [<options>] [<branch>] -- <file>...

有没有办法忽略那部分?

1 个答案:

答案 0 :(得分:0)

最稳定的是通过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

或类似的东西。