6.8 KiB
title | localeTitle |
---|---|
Git Pull | Git Pull |
Git Pull
git pull
es un comando de Git utilizado para actualizar la versión local de un repositorio desde un remoto.
Es uno de los cuatro comandos que solicita la interacción de red por Git. Por defecto, git pull
hace dos cosas.
- Actualiza la rama de trabajo local actual (rama actualmente retirada)
- Actualiza las sucursales de seguimiento remoto para todas las demás sucursales.
git pull
obtiene ( git fetch
) los nuevos compromisos y fusiona ( git merge
) estos en su sucursal 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
. Puedes leer más sobre las diferentes opciones en la documentación de Git. - REPOSITORY es la URL de tu repositorio. Ejemplo: https://github.com/freeCodeCamp/freeCodeCamp.git
- REFSPEC especifica qué refs buscar y qué refs locales actualizar
- REMOTE-NAME es el nombre de su repositorio remoto. Por ejemplo: origen .
- BRANCH-NAME es el nombre de tu sucursal. Por ejemplo: desarrollar .
Nota
Si tiene cambios no confirmados, la parte de combinación del comando git pull
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
Usando git pull
Use git pull
para actualizar un repositorio local desde el repositorio remoto correspondiente. Ej: mientras trabaja localmente en el master
, ejecute git pull
para actualizar la copia local del master
y actualizar 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 que se deben tener en cuenta para que ese ejemplo sea verdadero:
- El repositorio local tiene un repositorio remoto vinculado
- Comprueba esto ejecutando
git remote -v
- Si hay varios controles remotos,
git pull
podría no ser suficiente información. Es posible que deba ingresar elgit pull origin
git pull upstream
ogit pull upstream
. - La sucursal en la que está prestado actualmente tiene una sucursal de seguimiento remoto correspondiente
- Comprueba esto ejecutando el
git status
. Si no hay una sucursal de seguimiento remoto, Git no sabe dónde obtener información de.
Control de versiones distribuido
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 haya una solicitud de información. Y, un repositorio remoto no tiene conocimiento de los cambios locales hasta que se empujan las confirmaciones.
Los cuatro comandos de red son:
git clone
git fetch
git pull
git push
Sucursales en DVCS
Cuando trabajas con Git, puedes sentir 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 hacer 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 sucursales de seguimiento remoto , puede trabajar en Git en varias sucursales sin interacción de red. Cada vez que ejecuta los 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 sucursales de seguimiento remoto en el repositorio local. Ningún cambio se refleja realmente en ninguna de las ramas locales de trabajo.
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. Usando git pull
, obtienes ambas partes de estas actualizaciones. Pero, esto significa que si se le presta atención a la rama de feature
y ejecuta git pull
, cuando se retira a master
, no se incluirán nuevas actualizaciones. Siempre que realice el pago en otra sucursal que pueda tener nuevos cambios, siempre es una buena idea ejecutar git pull
.
git pull en IDEs
El lenguaje común en otros IDES no puede incluir la palabra pull
. Si buscas las palabras git pull
pero no las ves, busca la palabra sync
lugar.
forzando un PR remoto (solicitud de extracción) en el repositorio local
Para propósitos de revisión y similares, los RP en remoto deben ser buscados en el repositorio local. Puede usar el comando git fetch
siguiente manera para lograr esto.
git fetch origin pull/ID/head:BRANCHNAME
ID es el ID de solicitud de extracción y BRANCHNAME es el nombre de la rama que desea crear. Una vez que se haya creado la rama, puede utilizar git checkout
para cambiar a ese brach.