O melhor comando para executar é git remote show [remote]
. Isso mostrará todas as filiais, remotas e locais, rastreadas e não rastreadas.
Aqui está um exemplo de um projeto de código aberto:
> git remote show origin
* remote origin
Fetch URL: https://github.com/OneBusAway/onebusaway-android
Push URL: https://github.com/OneBusAway/onebusaway-android
HEAD branch: master
Remote branches:
amazon-rc2 new (next fetch will store in remotes/origin)
amazon-rc3 new (next fetch will store in remotes/origin)
arrivalStyleBDefault new (next fetch will store in remotes/origin)
develop tracked
master tracked
refs/remotes/origin/branding stale (use 'git remote prune' to remove)
Local branches configured for 'git pull':
develop merges with remote develop
master merges with remote master
Local refs configured for 'git push':
develop pushes to develop (local out of date)
master pushes to master (up to date)
Se apenas queremos obter as ramificações remotas, podemos usar grep
. O comando que queremos usar seria:
grep "\w*\s*(new|tracked)" -E
Com este comando:
> git remote show origin | grep "\w*\s*(new|tracked)" -E
amazon-rc2 new (next fetch will store in remotes/origin)
amazon-rc3 new (next fetch will store in remotes/origin)
arrivalStyleBDefault new (next fetch will store in remotes/origin)
develop tracked
master tracked
Você também pode criar um alias para isso:
git config --global alias.branches "!git remote show origin | grep \w*\s*(new|tracked) -E"
Então você pode simplesmente correr git branches
.
git fetch
egit remote update
não buscar todos os ramos do controle remoto? Porque senão você fossem obter, em seguida, usargit branch -r
...