Git Pull ne met pas à jour les fichiers
-
git pull
ne met pas à jour les fichiers en raison d’informations manquantes -
git pull
ne met pas à jour les fichiers en raison de fichiers non validés dans votre référentiel local
Cet article explique pourquoi la commande git pull
peut ne pas mettre à jour les fichiers de votre référentiel local avec les fichiers de votre référentiel distant.
La fonction git pull
peut mal fonctionner pour plusieurs raisons. Nous allons voir les raisons fréquentes et comment vous pouvez y remédier.
git pull
ne met pas à jour les fichiers en raison d’informations manquantes
Lorsque Git ne dispose pas de suffisamment d’informations pour travailler, vous pouvez recevoir un message d’erreur, comme celui ci-dessous.
$ 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 vous recevez un tel message, Git vous demandera de spécifier la branche distante à suivre avec votre branche locale actuelle. Utilisez la commande git branch --set-upstream-to=<remote>/<branch> master
, puis exécutez la commande git pull
pour pointer Git vers l’endroit d’où vous souhaitez que les modifications proviennent.
git pull
ne met pas à jour les fichiers en raison de fichiers non validés dans votre référentiel local
En tant que système de gestion de code source, Git fait de son mieux pour vous éviter de perdre vos fichiers et vos données. Pour cette raison, Git peut refuser de fusionner vos fichiers locaux avec des fichiers de votre dépôt distant lors de l’exécution de la commande git pull
.
Comme Git n’a pas de commande forced git pull
, vous pouvez invoquer le système pour fusionner les modifications. Si vous avez des modifications non validées, vous obtiendrez probablement un message d’erreur comme celui illustré ci-dessous.
$ 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
Pour remédier à cela, exécutez la commande git stash
pour stocker vos modifications locales avant d’exécuter la commande git pull
.
La dernière étape consiste à lancer git stash apply
après la commande git pull
. Cette commande appliquera les modifications stockées à votre répertoire de travail.
$ 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
Vous pouvez également valider les modifications avant d’exécuter la commande 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 vous n’avez pas besoin des modifications locales, vous pouvez les ignorer avant d’exécuter la commande git pull
.
Vous pouvez utiliser la commande git rest --hard
et la commande git clean -fd
pour supprimer les fichiers non suivis. Assurez-vous que vous n’avez pas besoin de ces modifications car vous ne pouvez pas annuler une défausse.
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