Лучшая команда для запуска git remote show [remote]. Это покажет все ветви, удаленные и локальные, отслеженные и неотслеживаемые.
Вот пример из проекта с открытым исходным кодом:
> 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)
Если мы просто хотим получить удаленные ветки, мы можем использовать grep. Команда, которую мы хотели бы использовать:
grep "\w*\s*(new|tracked)" -E
С помощью этой команды:
> 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
Вы также можете создать псевдоним для этого:
git config --global alias.branches "!git remote show origin | grep \w*\s*(new|tracked) -E"
Тогда вы можете просто бежать git branches.
git fetchиgit remote updateне забираете все ветви пульта? Потому что в противном случае вы можете просто получить и использоватьgit branch -r...