2011-02-07 25 views
109

He clonado un repositorio de git en mi servidor de desarrollo y luego he cambiado a la rama de desarrollo pero ahora no puedo hacer una transferencia de git para actualizar la rama.git - extracción desde una rama específica

¿Cómo actualizo el código en el servidor?

Respuesta

151

Véase el git-pull man page:

git pull [options] [<repository> [<refspec>...]]

y en la sección de ejemplos:

Combinar en la rama actual la rama remoto siguiente:

$ git pull origin next

así que me imagino que quiere hacer algo como:

git pull origin dev 

Para configurarlo de manera que lo hace por defecto, mientras que usted está en la rama dev:

git branch --set-upstream-to dev origin/dev 
+2

"indicador' -set-upstream' es obsoleto y se eliminará. Considere el uso de '' --track' o -set-aguas arriba a rama dev 'configurado para rastrear el desarrollo de la rama remota desde el origen". P.ej. 'git branch --set-upstream-to origin/dev' – Rao

14

¡Es a menudo más claro para separar las dos acciones git pull hace. Lo primero que hace es actualizar la ruta de rastreo local que corresponde a la rama remota. Esto se puede hacer con git fetch. El segundo es que luego se fusiona en cambios, lo que por supuesto puede hacerse con git merge, aunque otras opciones como git rebase son ocasionalmente útiles.

25

Esto es lo que necesita hacer. Primero asegúrate de estar en una rama que no quieras extraer. Por ejemplo, si tiene maestro y desarrollo de bifurcación, y está tratando de extraer la rama de desarrollo, entonces permanezca en la rama principal.

git checkout master 

Entonces,

git pull origin develop 
+0

Esto es confuso. Si quiero pasar una rama "dev" remota a una rama "dev" local, creo que debes permanecer en la rama "dev" local y no en otra rama. – Roman

Cuestiones relacionadas