git fetch

El comando git fetch comunica con un repositorio remoto y obtiene toda la información que se encuentra en ese repositorio y que no está en tu repositorio local.

git pull

El comando git pull es básicamente una combinación de los comandos git fetch y git merge, es decir, descargará el repositorio remoto y de forma inmediata intentará combinarlo con tu repositorio local.

git fetch VS. git pull

git fetch se puede considerar una versión menos destructiva de git pull; ya que no te obliga a fusionar los cambios con tu repositorio local. Sin embargo, el uso de git fetch está relacionado a la creación y uso de ramas.

git push

El comando git push se usa para cargar contenido del repositorio local a un repositorio remoto.

Cuando clona un repositorio, Git añade automáticamente un acceso rápido llamado origin que apunta al repositorio central main. Por tanto, con git push origin main se enviará los nuevos cambios confirmados al repositorio central.

git error: failed to push some refs to remote

Si el repositorio de GitHub ha recibido nuevas confirmaciones mientras trabajaba localmente, le recomendaría usar:

git pull --rebase origin main
git push origin main