2009-05-18 6 views
10

De temps en temps, quand je fais ce qui suit ...Pourquoi est-ce que je vois parfois un «nom de fichier d'entrée» non disponible? Impossible de fusionner. après un 'git reset --hard' et un 'git pull'?

git reset --hard 
HEAD is now at 0123abde comment is here
git pull 
Updating 0123abde..456789fa

Je reçois l'erreur ...

error: Entry 'filename' not uptodate. Cannot merge.

La seule solution que j'ai trouvé est de « git reset --hard ', supprimez le (s) fichier (s) fautif (s), puis faites' git pull '. Cela ne me semble pas juste. Une réinitialisation matérielle ne devrait-elle pas supprimer tous les changements locaux, me permettant ainsi de tirer au plus tard sans aucun problème de fusion? Est-ce que j'utilise git mal? :)

Ceci est sur une machine CI donc tous les changements ici sont indésirables. J'utilise git version 1.6.1.9.g97c34 sur Windows Vista.

Répondre

10

L'idée générale derrière « Entry 'filename' not uptodate. Cannot merge. » est:

Vous avez des modifications aux fichiers dans votre répertoire de travail qui seront remplacées, enlevées ou autrement perdues si la caisse et passer à la nouvelle branche devait procéder.

Il has been reported que ce message pourrait être « fallacieux » à temps, (potentiellement parce que « git pull » did not refresh the index avant d'essayer de fusionner) mais le correctif était en Git1.6.1.
Cependant, il se peut qu'il soit encore dans mSysGit 1.6.1, alors voyez-vous la même erreur avec une version plus récente de mSysGit? (comme 1.6.3)

+0

Je vais mettre à jour le dernier mSysGit. Merci pour la réponse rapide et complète! –

+0

Je voulais juste ajouter qu'après avoir mis à jour mSysGit vers une version plus récente, ce problème spécifique ne s'est jamais produit de nouveau. Donc en effet, c'était la cause profonde de mon problème. –

+0

@James: merci pour vos commentaires. – VonC

6

J'avais le même problème et j'ai renommé le dossier qui a provoqué ceci et ai fait un git pull. Il a retiré ce fichier manquant et a corrigé le problème.

+0

Cela a fonctionné! :-) –

+0

astuce folle, mais a fonctionné! – cleric

Questions connexes