2009-12-13 20 views
8

Tengo un proyecto privado alojado en github. Tengo una rama de producción de ese proyecto. Tengo una máquina nueva y necesito arreglar algo en producción. Esto es lo que hice.github cómo retirar la rama de producción

git clone [email protected]:userid/project.git 
# now I have master branch 
git co -b production 
git pull origin production 

Utilizando el mecanismo anterior que soy capaz de conseguir la rama de producción pero estoy consiguiendo conflictos de fusión, que no quiere tratar con este momento.

¿Existe alguna manera más limpia de obtener el código de sucursal de producción en mi máquina local?

+1

usted aparece de manera similar confundido en cuanto a lo que estaba sucediendo realmente con todas las ramas como recuerdo estar cuando yo era nuevo en Git. Echar un vistazo a la pantalla gráfica de ramificación de 'gitk --all' me ayudó mucho a tener una idea de lo que está sucediendo realmente. – ndim

Respuesta

18

Podría obtener directamente la rama remota después de obtenerlo

git fetch origin 
git branch -f remote_branch_name origin/remote_branch_name 
git checkout remote_branch name 

o más corto:

git checkout -b production origin/production 

estaría trabajando directamente desde la copia exagerado de la rama origen/producción (sin conflictos allí) .

Haciendo

git co -b production 
git pull origin production 

Usted está tratando de fusionar la rama de producción a distancia en su maestro (en una rama local de la 'producción', lo que significa que potencialmente conflictos si su principal tiene localmente una historia diferente de la . remota rama origen/producción

5

git checkout -b production por sí mismo se obtenga una nueva rama llamada production basado en la rama que actualmente haya realizado el pedido, el maestro.

Es probable que lo que realmente quería hacer era:

git checkout -b production origin/production 
Cuestiones relacionadas