Git Pull no actualiza archivos

John Wachira 30 enero 2023
  1. git pull no actualiza los archivos debido a la falta de información
  2. git pull no actualiza archivos debido a archivos no confirmados en su repositorio local
Git Pull no actualiza archivos

Este artículo discutirá por qué el comando git pull puede fallar al actualizar los archivos en su repositorio local con los archivos de su repositorio remoto.

La función git pull puede funcionar mal debido a varias razones. Veremos las razones frecuentes y cómo puede remediarlas.

git pull no actualiza los archivos debido a la falta de información

Cuando Git no tiene suficiente información para trabajar, es posible que reciba un mensaje de error, como el que se muestra a continuación.

$ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
    git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
    git branch --set-upstream-to=<remote>/<branch> master

Si recibe un mensaje de este tipo, Git le pedirá que especifique la rama remota para realizar un seguimiento con su rama local actual. Use el comando git branch --set-upstream-to=<remote>/<branch> master y luego ejecute el comando git pull para señalar a Git de donde desea que provengan los cambios.

git pull no actualiza archivos debido a archivos no confirmados en su repositorio local

Como sistema de administración de código fuente, Git hace todo lo posible para evitar que pierda sus archivos y datos. Por esta razón, Git puede negarse a fusionar sus archivos locales con archivos de su repositorio remoto al ejecutar el comando git pull.

Como Git no tiene un comando git pull forzado, puedes invocar al sistema para que fusione los cambios. Si tienes cambios no comprometidos, es probable que recibas un mensaje de error como el que se muestra a continuación.

$ git pull
From REPOSITORY_URL
 * branch            master     -> FETCH_HEAD
   a152b19..171e4a2  master     -> origin/master
Updating a152b19..171e4a2
error: Your local changes to the following files would be overwritten by merge:
  file1.txt
  file2.txt
Please commit your changes or stash them before you merge.
Aborting

Para remediar esto, ejecute el comando git stash para guardar sus cambios locales antes de ejecutar el comando git pull.

El último paso es ejecutar git stash apply después del comando git pull. Este comando aplicará los cambios ocultos a su directorio de trabajo.

$ git stash
Saved working directory and index state WIP on master: d91368b Previous commit message
$ git pull
From REPOSITORY_URL
 * branch            master     -> FETCH_HEAD
   a152b19..171e4a2  master     -> origin/master
Updating a152b19..171e4a2
Fast-forward
 file1.txt | 1 +
 file2.txt | 1 +
 2 files changed, 2 insertions(++)
$ git stash apply

También puede confirmar los cambios antes de ejecutar el comando git pull.

$ git commit -am 'Committing two files before git-pull'
[master d91368b] Committing two files before git-pull
 2 files changed, 2 insertions(++)
$ git pull
From REPOSITORY_URL
 * branch            master     -> FETCH_HEAD
   a152b19..171e4a2  master     -> origin/master
Updating a152b19..171e4a2
Fast-forward
 file1.txt | 1 +
 file2.txt | 1 +
 2 files changed, 2 insertions(++)

Si no necesita los cambios locales, puede descartarlos antes de ejecutar el comando git pull.

Puede usar el comando git rest --hard y el comando git clean -fd para descartar archivos sin seguimiento. Asegúrese de que no necesita estos cambios ya que no puede revertir un descarte.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn