// post

Programación

Cómo clonar ramas (branch) en git

Escenario
Tienes tu proyecto en un repositorio de github.com con dos ramas (master y foo) y quieres clonarlas a tu disco duro.

Solución

git clone git@github.com:usuario/proyecto.git

Con esto obtendremos la rama principal (master).

git fetch
git checkout --track -b foo origin/foo

Y con esto otro la rama foo.

¿Conocéis alguna forma más sencilla? En este caso tenemos dos ramas, pero si hubiese N+1, ¿tendremos que descargar todas una a una?

Vía

Comentarios

Los comentarios están cerrados.

  1. Cuando haces el git clone, ya tienes todo el repositorio localmente.

    Ese git fetch sobraría (salvo que en el instante entre el clone y el fetch, se hubiesen creado nuevas ramas en el repositorio remoto clonado).

    Haciendo git branch -a, ves todas.

    Para trabajar localmente, te obliga a crearte una branch local. Las origin/* son referencias a ramas remotas que no deben de ser modificadas (por eso no te deja trabajar sobre ellas y tienes que hacer el branch local) para poder luego pushear a ellas. git push origin/foo my_foo (o si las creas con track, ni hace falta señalar los nombres explícitamente)

    Escrito por blaxter | 18/Apr/2009, 5:42 pm
  2. Ah, vale. Intenté hacer git checkout foo y claro, me decía que no existía. Entonces, si hubiese creado la rama y luego hago el checkout ya la tendría como en el repositorio, ¿no?

    Gracias!

    Escrito por DraXus | 18/Apr/2009, 6:33 pm
  3. git checkout origin/foo, sí. Pero si quieres seguir trabajando con git, deberías hacer el git co -b nombre_que_sea origin/foo

    Escrito por blaxter | 18/Apr/2009, 7:07 pm

Bienvenido a The Power of Mind

The Power of Mind es el blog personal de DraXus, orientado a temas de Informática, Software Libre e Internet. Más sobre el autor…

del.icio.us flickr plurk twitter skype
linkedin facebook tuenti lastfm youtube

Recomendados

Yo participo en el Software Freedom Day 2011
AndaluciaPeople.com
Alhambrismo.com

flickr

Switch to our mobile site