git - tirando de una rama específica

197

He clonado un repositorio de git en mi servidor de desarrollo y luego cambié a la rama de desarrollo, pero ahora no puedo hacer una extracción de git para actualizar la rama.

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

Alex
fuente

Respuestas:

258

Vea la página de manual de git-pull :

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

y en la sección de ejemplos:

Combinar en la rama actual la rama remota siguiente:

$ git pull origin next

Así que imagino que quieres hacer algo como:

git pull origin dev

Para configurarlo para que lo haga de forma predeterminada mientras está en la rama de desarrollo:

git branch --set-upstream-to dev origin/dev
Cascabel
fuente
66
"La --set-upstreambandera está en desuso y se eliminará. Considere usar --tracko --set-upstream-to Branch devconfigurar para rastrear el desarrollo de la sucursal remota desde el origen". P.ej. git branch --set-upstream-to origin/dev
Nagendra Rao
¿Editar esto para reflejar la depreciación de --set-upstream?
Scott Skiles
Personalmente, estoy interesado en el flujo cuando quiero extraer una rama específica del origen que aún no se ha recuperado y poner ese objeto en una rama separada, por lo que mi rama actual no se fusiona con lo que estoy tirando.
Yuriy Pozniak el
43

Aquí está lo que tú necesitas hacer. Primero, asegúrese de estar en una rama que no desea tirar. Por ejemplo, si tiene una rama maestra y desarrollada, y está intentando extraer una rama desarrollada, entonces quédese en la rama maestra.

git checkout master

Luego,

git pull origin develop
la estrella
fuente
55
Esto es confuso. Si quiero colocar una rama "dev" remota en una rama "dev" local, creo que debe permanecer en la rama "dev" local y no en ninguna otra rama.
Romano
2
¿No obtiene esto la rama de desarrollo remoto y luego la combina con su maestro local?
Brad P.
2
Lo hice git checkout developy git pull origin developtrabajé bien. Debería pagar otra sucursal si desea eliminar una sucursal local o remota (git branch -d developgit push origin --delete develop
Debería
muy confuso. Acabo de fusionar la rama que quería probar en master localmente :)
Fabian Bosler
Como dice @roman, uno debe estar en la sucursal local.
woter324
15

A menudo es más claro separar las dos acciones git pull. Lo primero que hace es actualizar el branc de seguimiento local que corresponde a la rama remota. Esto se puede hacer con git fetch. El segundo es que luego se fusiona en los cambios, lo que, por supuesto, se puede hacer git merge, aunque otras opciones como git rebaseocasionalmente son útiles.

wnoise
fuente
7

Ejemplo de documentación de Laravel:

git pull https://github.com/laravel/docs.git 5.8

basado en el formato del comando:

git pull origin <branch>

👍

Erich García
fuente
5

Estos son los pasos para extraer una rama específica o alguna,

1. Clone el maestro (debe proporcionar nombre de usuario y contraseña)

       git clone <url>

2. el comando anterior clonará el repositorio y usted será la rama maestra ahora

       git checkout <branch which is present in the remote repository(origin)>

3. El comando anterior pasará a la rama que desea extraer y se configurará para rastrear automáticamente esa rama

4. Si por alguna razón no funciona así, después de visitar esa rama en su sistema local, simplemente ejecute el siguiente comando

       git pull origin <branch>
vikas etagi
fuente
1

Puede tomar update / pull en git branch que puede usar debajo del comando

git pull origin <branch-name>

El comando anterior tomará una actualización / extracción de dar el nombre de la sucursal

Si desea tomar un tirón de otra rama, debe ir a esa rama.

git checkout master

Que

git pull origin development

Espero que eso funcione para ti

Nikunj K.
fuente
0

git-pull: recupera e integra con otro repositorio o una sucursal local

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

Puede consultar el documento oficial de git https://git-scm.com/docs/git-pull

Ej:

git pull origin dev

sesha
fuente
¿En qué se diferencia su respuesta de cualquiera de las otras ya publicadas?
j08691
Sí, nada más que solo son documentos oficiales ( git-scm.com/docs/git-pull ) para que pueda explorar muchas opciones.
sesha
0

si quieres sacar de una rama específica, todo lo que tienes que hacer es

git pull 'remote_name' 'branch_name'

NOTA: Asegúrese de confirmar su código primero.

Ali Hassan
fuente