Git pull: descarga y fusión de contenidos
El comando git pull descarga el contenido de un repositorio remoto y realiza automáticamente una fusión. Puede especificar el comando a través de varios argumentos.
- Domina el mercado con nuestra oferta 3x1 en dominios
- Tu dominio protegido con SSL Wildcard gratis
- 1 cuenta de correo electrónico por contrato
¿Qué es git pull?
Git permite que tú y los miembros de tu equipo colaboréis en un proyecto simultáneamente. Esto es posible gracias a los diferentes repositorios en los que los desarrolladores pueden trabajar de forma autónoma antes de que los cambios útiles e importantes se integren en el proyecto general. Sin embargo, para que este principio dé resultados óptimos, es importante que la base de cada depósito local sea idéntica. Los cambios solo se pueden integrar si el punto de partida es el mismo. Por lo tanto, una herramienta importante para trabajar con el sistema de control de versiones es el comando de Git git pull.
Con git pull, descargas el contenido de un repositorio remoto y actualizas el repositorio local. Esto garantiza que puedas trabajar partiendo del estado actual. Una vez has terminado de trabajar en tu repositorio local, puedes subir los cambios e innovaciones al repositorio remoto utilizando el comando git push. Trabajar con git pull y push es especialmente importante cuando varios usuarios están colaborando en un proyecto al mismo tiempo y necesitas tener acceso constante al último estado. Git pull hace las veces de actualización.
Hay otros programas de gestión de versiones además de Git. Échale un vistazo a nuestra comparación entre Git y SVN.
Sintaxis y funciones de git pull
La sintaxis habitual de git pull también se puede encontrar en nuestro práctico resumen de Git descargable en PDF. El comando, con la opción adicional sobre el repositorio remoto que se va a utilizar, se ve así:
git pull <repositorio_remoto>
El funcionamiento de git pull se explica mejor con otros dos comandos de Git, que básicamente se ejecutan uno tras otro. En primer lugar, al igual que sucede con git fetch, especificas un repositorio remoto y descargas su estado actual, incluyendo todo el contenido. Después, realizas un git merge, fusionando la copia remota y la copia local. Normalmente, tendrías que ejecutar los dos comandos "git fetch <repositorio_remoto>" y "git merge origin/ <rama_actual>" uno tras otro, pero git pull los combina y usándolo te ahorras un paso de trabajo.
Variantes del comando
Además de la versión estándar de git pull descrita anteriormente, existen algunas variantes de este útil comando, que te presentamos a continuación.
Git pull sin merge
Puedes ampliar el git pull clásico para que descargue el contenido del repositorio remoto, pero sin que Git cree un nuevo commit con la unión de ambos repositorios. El comando tiene entonces el siguiente aspecto:
git pull --no-commit <repositorio_remoto></repositorio_remoto>
Git pull con rebase
En esta variante, todo el contenido de un repositorio remoto se descarga mediante git pull, pero en lugar de un merge, la fusión se realiza con git rebase. Así se escribe el comando:
git pull --rebase <repositorio_remoto></repositorio_remoto>
git pull con verbose
Esta opción ejecuta git pull normal, pero te da una lista exacta de los nuevos archivos. Así sabes en qué contenidos puedes seguir trabajando.
git pull --verbose
Diferencias entre git pull y fetch
Los comandos git pull y git fetch pueden confundirse, especialmente al principio. Al fin y al cabo, su funcionamiento básico es similar, ya que ambos comandos descargan contenidos de un repositorio remoto. Sin embargo, git fetch no modifica el repositorio local; hace que los archivos necesarios estén disponibles, pero mantiene el estado actual. Git pull, por otro lado, actualiza el repositorio local inmediatamente. Aunque esto puede ahorrar tiempo, también puede generar problemas.
Ejemplo de git pull
En el siguiente ejemplo práctico, te enseñamos cómo funciona git pull. Como el comando ejecuta dos pasos seguidos, el código es más corto y solo está compuesto de unas pocas líneas en total. En nuestro ejemplo, utilizamos el comando git checkout para cambiar a nuestro repositorio local, y en el segundo paso ejecutamos git pull. El comando hace que se descargue el contenido de nuestro repositorio remoto y que Git active el git merge directamente después, de modo que nuestro repositorio local se actualiza inmediatamente. Así es como se ve en la práctica:
git checkout <repositorio_local></repositorio_local>
git pull <repositorio_remoto></repositorio_remoto>
Rebase en lugar de merge
Para asegurarse de que el historial sea lo más claro posible, muchos desarrolladores prefieren prescindir de git merge y recurrir a git rebase. En este caso, tus cambios aparecen antes de los de otros miembros del equipo. Dado que git pull en realidad también sirve para fusionar, el comando debe ampliarse añadiendo la mencionada opción "--rebase". En la práctica, esto se ve así:
git checkout main
git pull --rebase origin
¡Publica tu proyecto en línea y mantén el control! Con Deploy Now de IONOS, puedes desplegar tus webs y apps directamente a través de GitHub. El primer mes de prueba es gratuito, y luego puedes elegir la tarifa más adecuada a tus necesidades entre tres opciones.