Tout d'abord, clonez un référentiel Git distant et un CD dedans:
$ git clone git://example.com/myproject
$ cd myproject
Ensuite, regardez les branches locales dans votre référentiel:
$ git branch
* master
Mais il y a d'autres branches qui se cachent dans votre référentiel! Vous pouvez les voir en utilisant le -a
drapeau:
$ git branch -a
* master
remotes/origin/HEAD
remotes/origin/master
remotes/origin/v1.0-stable
remotes/origin/experimental
Si vous voulez simplement jeter un coup d'œil à une succursale en amont, vous pouvez le vérifier directement:
$ git checkout origin/experimental
Mais si vous souhaitez travailler sur cette branche, vous devrez créer une branche de suivi locale qui se fait automatiquement en:
$ git checkout experimental
et vous allez voir
Branch experimental set up to track remote branch experimental from origin.
Switched to a new branch 'experimental'
Cette dernière ligne jette quelques personnes: "Nouvelle branche" - hein? Ce que cela signifie vraiment, c'est que la branche est extraite de l'index et créée localement pour vous. La ligne précédente est en fait plus informative car elle vous indique que la branche est en cours de configuration pour suivre la branche distante, ce qui signifie généralement la branche origine / nom_branche
Maintenant, si vous regardez vos succursales locales, voici ce que vous verrez:
$ git branch
* experimental
master
Vous pouvez effectivement suivre plusieurs référentiels distants à l'aide de git remote
.
$ git remote add win32 git://example.com/users/joe/myproject-win32-port
$ git branch -a
* master
remotes/origin/HEAD
remotes/origin/master
remotes/origin/v1.0-stable
remotes/origin/experimental
remotes/win32/master
remotes/win32/new-widgets
À ce stade, les choses deviennent assez folles, alors courez gitk
pour voir ce qui se passe:
$ gitk --all &
git branch -a
) vous montre les branches de la télécommande, mais si vous essayez de vérifier l'une de celles-ci, vous serez dans un état de «tête détachée». La réponse suivante vers le bas (deuxième plus de votes positifs) répond à une question différente (à savoir: comment tirer toutes les branches, et, encore une fois, cela ne fonctionne que pour celles que vous suivez localement). Plusieurs commentaires soulignent que vous pouvez analyser lesgit branch -a
résultats avec un script shell qui suivrait localement toutes les branches distantes. Résumé: Il n'y a pas de façon native de faire ce que vous voulez et ce n'est peut-être pas une si bonne idée de toute façon.