2009-12-18 10 views
7

Hay una rama en el control remoto en la que me gustaría trabajar. Es viejo y ya no tengo una copia vieja en mi máquina local. Realmente está muy atrás del maestro. Cada vez que intento sacarlo obtengo conflictos. Solo quiero crear un duplicado exacto de la sucursal remota en mi sistema local. ¿Por qué eso llevaría a conflictos?¿Cómo hago una rama remota en git sin conflictos?

me trataron:

git pull origin branch_name:branch_name 

que creó una nueva rama en mi máquina local con el nombre correcto, pero dio lugar a conflictos.

Respuesta

10
git fetch origin 
git checkout -b newoldbranch oldoldbranch 
+0

Tuve que especificar el control remoto: 'git checkout -b branch origin/branch' – Francisco

+0

@Francisco, sí, oldoldbranch significa especificación de bifurcación completa ya que está almacenada en el repositorio local. –

+0

Gracias por aclarar. No lo asumí de esa manera. – Francisco

2

¿No puedes simplemente echarle un vistazo?

git checkout branch_name 

?

+1

Este tipo de trabajado, pero tuve que cambiarlo: git origen branch_name rama/branch_name git checkout branch_name –

+1

No es que me importe, pero no es curioso que usted aceptó esta respuesta, a pesar de que había que cambiarlo ¿al mío? ;-) git branch + git checkout es equivalente a git checkout -b ;-) –

4

git pull repo branch es básicamente la abreviatura de git fetch repo branch y git merge repo/branch. No soy de los que suelen decir RTFM, especialmente con git, pero es la primera línea del git-pull docs. "git-pull - Obtener y fusionarse con otro repositorio o una sucursal local". La fusión implícita está causando el conflicto. Solo quiere un fetch & checkout como dijo Michael.

+2

Gracias. Odio git. –

+2

Sí, hará eso. Confía en mí, vale la pena el esfuerzo. Mucho más simple que SVN una vez que lo tienes. – Schwern

Cuestiones relacionadas