How to fetch all Git branches

问题描述

I cloned a Git repository, which contains about five branches. However, when I do git branch I only see one of them:

$ git branch

  • master
    I know that I can do git branch -a to see all the branches, but how would I pull all the branches locally so when I do git branch, it shows the following?

$ git branch

  • master
  • staging
  • etc...

问题来源

https://stackoverflow.com/questions/10312521/how-to-fetch-all-git-branches/19644021

这个问题是在stackoverflow上的,本来想完善一下回答,无奈登录失败,那就把终极答案放在这里。

终极答案

To avoid the error message 'fatal: A branch named 'origin/master' already exists.', you need this:

git branch -r | grep -v '\->'  | grep -v `git branch | awk '/\*/ { print $2; }'`| while read remote; do git branch --track "${remote#origin/}" "$remote"; done

猜你喜欢

转载自www.cnblogs.com/zjutzz/p/10540949.html