web-dev-qa-db-fra.com

Pull n'est pas possible car vous avez des fichiers non fusionnés, git stash ne fonctionne pas. Je ne veux pas m'engager

Je veux juste tirer. J'ai des modifications à ignorer, mes fichiers Gemfile et Gemlock et je serais heureux de les écraser et de les tirer. J'ai essayé de cacher mes modifications, cela n'a pas fonctionné pour moi. Que fais-je?

git pull
M   Gemfile
U   Gemfile.lock
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.
~/projects/sms/apps2/apps2_admin(apps2)$ git stash save "saved"
Gemfile.lock: needs merge
Gemfile.lock: needs merge
Gemfile.lock: unmerged (4ea16799dba7bfe1db28adecf36dee1af5195c1a)
Gemfile.lock: unmerged (e77439c9f86d1d0eda7ae0787e3e158f90959e68)
Gemfile.lock: unmerged (d690d3860db1aa8e46c1bb2f4de3e52a297b5c26)
fatal: git-write-tree: error building trees
Cannot save the current index state
~/projects/sms/apps2/apps2_admin(apps2)$ git pull
M   Gemfile
U   Gemfile.lock
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.
36
JZ.

Vous pouvez utiliser git checkout <file> pour vérifier la version validée du fichier (annulant ainsi vos modifications), ou git reset --hard HEAD pour supprimer toutes les modifications non validées pour tous les fichiers.

38
Amber
git fetch Origin
git reset --hard Origin/master
git pull

Explication:

  • Fetch téléchargera tout à partir d'un autre référentiel, dans ce cas, celui marqué comme "Origine".
  • Reset annule les modifications et revient à la branche mentionnée, "master" dans le référentiel "Origin".
  • Pull obtiendra tout simplement d'un référentiel distant et l'intégrera.

Voir la documentation sur http://git-scm.com/docs .

55
Ricardo Peres

J'ai essayé les deux et j'ai toujours des échecs en raison de conflits. À la fin de ma patience, j'ai cloné le maître dans un autre endroit, tout copié dans l'autre branche et commis. ce qui m'a permis de continuer. L'option "-X leur" aurait dû le faire pour moi, mais elle ne l'a pas fait.

git merge -s récursif -X leur maître

erreur: 'fusionner' n'est pas possible car vous avez des fichiers non fusionnés. indice: corrigez-les dans l'arborescence de travail, indice: puis utilisez "git add/rm" comme indice: approprié pour marquer la résolution et effectuer un commit, indice: ou utilisez "git commit -a". fatal: sortie en raison d'un conflit non résolu.

2
max

J'ai eu la même erreur et je la résous avec: git merge -s recursive -X theirs Origin/master

1
chacham15