web-dev-qa-db-fra.com

Erreur d'extraction Git: vos modifications locales dans les fichiers suivants seraient écrasées par la fusion:

J'essaie d'extraire les modifications de la branche distante mais j'obtiens une erreur qui n'a pas de sens

quand je fais

git pull

Je reviens

error: Your local changes to the following files would be overwritten by merge:
file/name/path
some/more/filenamepath
Please, commit your changes or stash them before you can merge.
Aborting

Le problème est que je n'ai aucun changement à faire quand je le fais git status

# On branch master
# Your branch and 'Origin/master' have diverged,
# and have 2 and 7 different commits each, respectively.
#
nothing to commit (working directory clean)

there are no working changes

J'ai essayé git reset --hard HEAD mais cela n'a pas aidé

des idées?

Les fichiers sont sur le système de fichiers NFS, peut-être que cela a quelque chose à voir avec. C'est sur OSX

Merci


MISE À JOUR: Ce problème doit faire quelque chose avec NFS, parce que quand je suis allé à la source d'origine et que j'ai tiré de tout, cela a bien fonctionné, ce qui l'a corrigé pour cette instance, mais je ne sais toujours pas exactement pourquoi cela cause des problèmes avec NFS.

25
darkgaro

J'ai eu ce même problème, et la réponse fetch/rebase n'a pas fonctionné pour moi. Voici comment je l'ai résolu:

J'ai supprimé le fichier à l'origine du problème, je l'ai vérifié, puis j'ai réussi à tirer.

  1. fichier rm/nom/chemin/certains/plus/cheminfichier
  2. git checkout file/name/path/some/more/filenamepath
  3. git pull
24
pferg
  1. Supprimez les fichiers problématiques.
  2. Courir git reset --hard.

Cela devrait le réparer.

15
Dan

Vous devriez:

  • fetch (mise à jour de toutes les branches de suivi à distance, comme Origin/master)
  • rebaser votre branche actuelle au-dessus d'Origin/master afin de rejouer vos 2 commits au-dessus des 7 commits mis à jour que vous venez de récupérer.

Ce serait:

git checkout master
git fetch
git rebase Origin/master

Une version plus courte de l'ensemble de commandes ci-dessus serait la commande unique suivante:

git pull --rebase
6
VonC

Eu le même problème. Résolu en re-clonant le dépôt. Mais maintenant, je pense que la raison en était les fins de ligne dans ces fichiers. J'ai joué avec eux avant.

Je suppose que la différence de fin de ligne ne marque pas les fichiers comme modifiés, mais peut conduire à ce message. Lorsque vous rm les fichiers et re checkout les fichiers, les fins de ligne doivent être définies sur "bon état", et tirer va bien.

2
Andrey Regentov