Git Pull no actualiza archivos
-
git pull
no actualiza los archivos debido a la falta de información -
git pull
no actualiza archivos debido a archivos no confirmados en su repositorio local
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 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