Diferencias entre git pull y git fetch
Es muy importante saber cuáles son las diferencias entre git pull y git fetch cuando estamos trabajando con un repositorio en Git.
git pull
y git fetch
son dos comandos que se usan con mucha frecuencia por los usuarios de Git. ¿Cuáles con las diferencias entre pull
y fetch
?
Tanto pull
como fetch
se utilizan para mantener el repositorio actualizado con los cambios que haya habido. No siempre, pero en muchos casos hay más de una persona trabajando en un repositorio, por lo que cuando una persona hace cambios en un repositorio remoto con un git push
, nuestro repositorio local estará desactualizado y tendremos que traernos los cambios que se hayan hecho.
Pero, ¿es lo mismo git pull
que git fetch
?
La respuesta es no.
Veamos un ejemplo de diferencias entre git fetch
y git pull
en el que entran en juego 3 partes:
- Repositorio remoto: sería el que se almacena en GitHub.
- Repositorio local: es una copia del repositorio remoto que se almacena en tu ordenador o en un servidor, por ejemplo.
- Espacio de trabajo: los archivos con los que trabajas directamente en Visual Studio Code, PyCharm o con cualquier editor de código.
git fetch
es el comando que hace que tu repositorio Git local se actualice con la última información que hay en el repositorio remoto, pero no hace ninguna transferencia de archivos a tu espacio de trabajo local (el código que ves en tu editor por ejemplo). Podría decirse que sirve para comprobar si hay algún cambio y traerlo a tu repositorio local.git pull
es el comando que comprueba si hay cambios en el repositorio remoto y, en caso de que los haya, se trae esos archivos a tu repositorio local y actualiza tu espacio de trabajo (tu IDE, tus archivos).
Simplificando mucho la explicación, git pull
hace un git fetch
seguido de un git merge
.