2010-10-22 22 views

Respuesta

70

Por defecto, git clone crea solo una rama: la que está actualmente desprotegida, generalmente maestra. Sin embargo, crea ramas de seguimiento remoto para todas las demás ramas en el control remoto. Piense en esto como copias locales de las ramas del control remoto, que se pueden actualizar buscando. No son sucursales locales reales, ya que están destinadas solo como punteros a donde están las sucursales del control remoto, no para que trabajes.

Si ejecuta git branch -a, verá todas las sucursales, locales y remotas. Si desea ver solo los remotos, use git branch -r. Si prefiere una visualización del historial visual, intente gitk --all (o gitk --remotes).

Para crear una rama local para trabajar, tendrá que utilizar

git branch <branch-name> origin/<branch-name> 

que va a crear una nueva rama local utilizando rama del control remoto como punto de partida.

+5

una sintaxis más corta que es compatible es git branch -t origen/

+1

@adymitruk: No estoy seguro de cuándo se introdujo -t, pero no está en Git 1.6.3.1 y versiones anteriores. Si -t no está allí, las personas pueden usar -track en su lugar. – Trott

12

Uso:

git branch -r 

Esto le mostrará todas las ramas remotas. A continuación, puede hacer:

git branch -t my_local_branch origin/remote_branch 
git checkout my_local_branch 

Luego haga su trabajo y luego empújelo a la sucursal remota.

11

Puede hacerlo directamente:

git checkout <original-remote-branch-name> 

Esto crea automáticamente una rama local que sigue la rama remota con el mismo nombre. Haga esto siempre después de la clonación, si desea trabajar en una rama particular que no sea maestra.

Nota: Al clonar, el nombre del control remoto es por defecto 'origen', que es diferente del nombre remoto utilizado en otras máquinas en las que está desarrollando. Por lo tanto, inicialmente puede nombrar su control remoto antes de clonarlo o enviarlo a su origen para siempre.

Cuestiones relacionadas