Primero, clone un repositorio Git remoto y cd en él:
$ git clone git://example.com/myproject
$ cd myproject
Luego, mire las sucursales locales en su repositorio:
$ git branch
* master
¡Pero hay otras ramas escondidas en su repositorio! Puedes ver esto usando la -a
bandera:
$ git branch -a
* master
remotes/origin/HEAD
remotes/origin/master
remotes/origin/v1.0-stable
remotes/origin/experimental
Si solo quieres echar un vistazo rápido a una rama aguas arriba, puedes echarle un vistazo directamente:
$ git checkout origin/experimental
Pero si desea trabajar en esa rama, deberá crear una rama de seguimiento local que se realiza automáticamente mediante:
$ git checkout experimental
y tu verás
Branch experimental set up to track remote branch experimental from origin.
Switched to a new branch 'experimental'
Esa última línea arroja a algunas personas: "Nueva rama" - ¿eh? Lo que realmente significa es que la rama se toma del índice y se crea localmente para usted. La línea anterior es en realidad más informativa, ya que le indica que la rama se está configurando para rastrear la rama remota, lo que generalmente significa la rama origin / branch_name
Ahora, si observa sus sucursales locales, esto es lo que verá:
$ git branch
* experimental
master
En realidad, puede rastrear más de un repositorio remoto utilizando 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
En este punto, las cosas se están gitk
volviendo bastante locas, así que corre para ver qué está pasando:
$ gitk --all &
git branch -a
) le muestra las ramas en el control remoto, pero si intenta verificar cualquiera de ellas, estará en un estado de 'CABEZA separada'. La siguiente respuesta hacia abajo (la segunda mayoría de los votos a favor) responde a una pregunta diferente (a saber: cómo extraer todas las ramas y, de nuevo, esto solo funciona para aquellos que está rastreando localmente). Varios de los comentarios señalan que podría analizar losgit branch -a
resultados con un script de shell que rastrearía localmente todas las ramas remotas. Resumen: no hay una forma nativa de git de hacer lo que quieres y, de todos modos, podría no ser una idea tan genial.