Git Pull ne met pas à jour les fichiers

John Wachira 30 janvier 2023
  1. git pull ne met pas à jour les fichiers en raison d’informations manquantes
  2. git pull ne met pas à jour les fichiers en raison de fichiers non validés dans votre référentiel local
Git Pull ne met pas à jour les fichiers

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.

Auteur: John Wachira
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