git pull
es un comando de Git que se usa para actualizar la versión local de un repositorio desde un control remoto.
Es uno de los cuatro comandos que solicita la interacción de red de Git. Por defecto, git pull
hace dos cosas.
- Actualiza la rama de trabajo local actual (rama actualmente desprotegida)
- Actualiza las ramas de seguimiento remoto para todas las demás ramas.
git pull
recupera ( git fetch
) las nuevas confirmaciones y las fusiona ( git merge
) en su rama local.
La sintaxis de este comando es la siguiente:
# General format git pull OPTIONS REPOSITORY REFSPEC # Pull from specific branch git pull REMOTE-NAME BRANCH-NAME
en el cual:
- OPCIONES son las opciones de comando, como
--quiet
o--verbose
. Puede leer más sobre las diferentes opciones en la documentación de Git - REPOSITORY es la URL de su repositorio. Ejemplo: //github.com/freeCodeCamp/freeCodeCamp.git
- REFSPEC especifica qué referencias recuperar y qué referencias locales actualizar
- REMOTE-NAME es el nombre de su repositorio remoto. Por ejemplo: origen .
- BRANCH-NAME es el nombre de su sucursal. Por ejemplo: desarrollar .
Nota
Si tiene cambios no confirmados, la parte de fusión del git pull
comando fallará y su rama local quedará intacta.
Por lo tanto, siempre debe confirmar sus cambios en una rama antes de extraer nuevas confirmaciones de un repositorio remoto.
Tabla de contenido
- Utilizando
git pull
- Control de versiones distribuidas
git fetch
+git merge
git pull
en IDE
Usando git pull
Úselo git pull
para actualizar un repositorio local desde el repositorio remoto correspondiente. Por ejemplo: mientras trabaja localmente master
, ejecute git pull
para actualizar la copia local master
y actualice las otras ramas de seguimiento remoto. (Más información sobre las sucursales de seguimiento remoto en la siguiente sección).
Pero, hay algunas cosas a tener en cuenta para que ese ejemplo sea cierto:
El repositorio local tiene un repositorio remoto vinculado
- Verifique esto ejecutando
git remote -v
- Si hay varios controles remotos, es
git pull
posible que no haya suficiente información. Es posible que deba ingresargit pull origin
ogit pull upstream
.
La sucursal en la que está actualmente registrado tiene una sucursal de seguimiento remoto correspondiente
- Verifique esto ejecutando
git status
. Si no hay una sucursal de seguimiento remoto, Git no sabe dónde extraer información a partir .
Control de versiones distribuidas
Git es un sistema de control de versiones distribuido (DVCS). Con DVCS, los desarrolladores pueden trabajar en el mismo archivo al mismo tiempo en entornos separados. Después de enviar el código al repositorio remoto compartido, otros desarrolladores pueden extraer el código modificado.
Interacciones de red en Git
Solo hay cuatro comandos que solicitan interacciones de red en Git. Un repositorio local no tiene conocimiento de los cambios realizados en el repositorio remoto hasta que hay una solicitud de información. Y un repositorio remoto no tiene conocimiento de los cambios locales hasta que se envían las confirmaciones.
Los cuatro comandos de red son:
git clone
git fetch
git pull
git push
Sucursales en DVCS
Cuando se trabaja con Git, puede parecer que hay muchas copias del mismo código flotando por todas partes. Hay diferentes versiones del mismo archivo en cada rama. Y diferentes copias de las mismas ramas en la computadora de cada desarrollador y en el control remoto. Para realizar un seguimiento de esto, Git usa algo llamado ramas de seguimiento remoto .
Si ejecuta git branch --all
dentro de un repositorio de Git, las ramas de seguimiento remoto aparecen en rojo. Estas son copias de solo lectura del código tal como aparece en el control remoto. (¿Cuándo fue la última interacción de red que habría traído información localmente? Recuerde cuándo se actualizó por última vez esta información. La información en las ramas de seguimiento remoto refleja la información de esa interacción).
Con las ramas de seguimiento remoto , puede trabajar en Git en varias ramas sin interacción de red. Cada vez que ejecuta comandos git pull
o git fetch
, actualiza las ramas de seguimiento remoto .
git fetch plus git merge
git pull
es un comando de combinación, igual a git fetch
+ git merge
.
git fetch
Por sí solo, git fetch
actualiza todas las ramas de seguimiento remoto en el repositorio local. En realidad, no se reflejan cambios en ninguna de las ramas de trabajo locales.
git merge
Sin ningún argumento, git merge
fusionará la rama de seguimiento remoto correspondiente a la rama de trabajo local.
git pull
git fetch
actualiza las sucursales de seguimiento remoto. git merge
actualiza la rama actual con la rama de seguimiento remoto correspondiente. Al usar git pull
, obtienes ambas partes de estas actualizaciones. Pero esto significa que si está desprotegido para feature
bifurcar y ejecuta git pull
, cuando realice el pago master
, no se incluirán nuevas actualizaciones. Siempre que realice el pago a otra rama que pueda tener nuevos cambios, siempre es una buena idea ejecutarla git pull
.
git pull en IDE
El lenguaje común en otros IDES puede no incluir la palabra pull
. Si busca las palabras git pull
pero no las ve, busque la palabra en su sync
lugar.
obtener un PR remoto (solicitud de extracción) en el repositorio local
Para fines de revisión y demás, los RP en remoto deben buscarse en el repositorio local. Puede usar el git fetch
comando de la siguiente manera para lograr esto.
git fetch origin pull/ID/head:BRANCHNAME
ID es el ID de la solicitud de extracción y BRANCHNAME es el nombre de la rama que desea crear. Una vez que se ha creado la rama, puede usar git checkout
para cambiar a esa rama.
Otros recursos sobre git en guide.freecodecamp.org
- Fusionar Git
- Git checkout
- Git commit
- Git alijo
- Rama de Git