Obtener cambios remotos con git fetch
En este paso, aprenderemos cómo obtener cambios de un repositorio remoto de Git. Imagina que estás colaborando con otros y ellos han realizado cambios en el proyecto. git fetch
es el comando que se utiliza para descargar esos cambios a tu máquina local sin fusionarlos con tu trabajo actual.
Primero, simulemos tener un repositorio remoto. Crearemos uno simple localmente con fines demostrativos.
cd ~/project
mkdir remote-repo
cd remote-repo
git init --bare
Esto crea un repositorio "desnudo" (bare), que se utiliza típicamente como un repositorio remoto central. Ahora, volvamos a nuestro repositorio my-time-machine
y agreguemos este como remoto.
cd ~/project/my-time-machine
git remote add origin ../remote-repo
Hemos agregado un remoto llamado origin
que apunta a nuestro repositorio remoto simulado. Ahora, hagamos un cambio en el repositorio remoto y luego obtengámoslo.
cd ~/project/remote-repo
echo "This is a remote change." > remote_file.txt
git add remote_file.txt
git commit -m "Add remote file"
Ahora, volviendo a nuestro repositorio my-time-machine
, obtengamos los cambios del remoto.
cd ~/project/my-time-machine
git fetch origin
Deberías ver una salida que indique que Git ha descargado los cambios del repositorio remoto. Algo como esto:
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (2/2), 258 bytes | 258.00 KiB | elapsed 0.00s.
From ../remote-repo
* [new branch] master -> origin/master
El comando git fetch
descarga los commits, archivos y referencias del repositorio remoto a tu repositorio local. Sin embargo, no fusiona automáticamente estos cambios en tu rama de trabajo actual. Esto te permite inspeccionar los cambios antes de integrarlos.
Puedes pensar en git fetch
como obtener las últimas actualizaciones de un feed de noticias. Ves los títulos y resúmenes, pero aún no has leído los artículos completos. Puedes decidir qué artículos (cambios) quieres leer (fusionar) más tarde.