Comment résoudre git merge d'erreur "fichier d'échange.FUSIONNEZ MSG.swp existe déjà"

Quand je tire:

E325: ATTENTION
Found a swap file by the name "~/Documents/Sites/recipegenerator/.git/.MERGE_MSG.swp"
          owned by: username   dated: Wed Dec 14 12:28:45 2016
         file name: ~username/Documents/Sites/recipegenerator/.git/MERGE_MSG
          modified: YES
         user name: username   host name: Users-MacBook-Pro.local
        process ID: 33747
While opening file "/Users/larsvanurk/Documents/Sites/recipegenerator/.git/MERGE_MSG"
             dated: Thu Dec 22 14:06:17 2016
      NEWER than swap file!

(1) Another program may be editing the same file.
    If this is the case, be careful not to end up with two
    different instances of the same file when making changes.
    Quit, or continue with caution.

(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /Users/username/Documents/Sites/recipegenerator/.git/MERGE_MSG"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/Users/username/Documents/Sites/recipegenerator/.git/.MERGE_MSG.swp"
    to avoid this message.

Swap file "~/Documents/Sites/recipegenerator/.git/.MERGE_MSG.swp" already exists!

Quand je push:

To  https://github.com/nickname/recipegenerator.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/nickname/recipegenerator.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

s'il vous Plaît aider :C Idk quoi faire. Je ne peux ni pousser ni tirer. J'ai essayé à peu près tout ce que je pouvais penser. J'ai aussi essayé: git merge -- abort. Le truc, c'est quand je fais ça, je n'arrive pas à trouver mon conflit que je dois résoudre.

15
demandé sur quetzalcoatl 2016-12-22 16:13:36

1 réponses

c'est un message de VIM que vous utilisez apparemment comme éditeur de texte dans git. Avez-vous essayé de lire et de suivre ces deux (1) (2) points? L'un d'eux sera probablement vrai, et vous laissera résoudre ce problème.

tout d'Abord, vérifiez que MERGE_MSG file (not MERGE_MSG.swp), et voir si il existe et ce qui est à l'intérieur. Très probablement c'est une corbeille ou un fichier temporaire qui peut être supprimé en toute sécurité. A en juger par le nom, c'est probablement le nom du fichier utilisé comme édition de texte temporaire. zone pour les messages de propagation de la fusion.

puis, puisque vous utilisez VIM, lorsque VIM démarre, il essaie de créer un fichier de pagination pour ses propres besoins internes. Le message d'erreur dit que c'est ~/Documents/Sites/recipegenerator/.git/.MERGE_MSG.swp. Souvent, vous pouvez simplement supprimer ces fichiers de swap, surtout s'ils sont vieux ou inattendus. Cependant, si récemment une session d'édition de messages de fusion-propagation a échoué et si vous avez eu beaucoup de texte créatif que vous ne voulez pas perdre - alors ne le supprimez pas et récupérer ce swap à la place, comme décrit dans (2) dans le message d'erreur.

cependant, puisque vous ne savez pas ce qui se passe et que vous n'avez rien dit au sujet de la perte d'un texte que vous avez écrit, et puisque C'est probablement juste une MERGE_MSG qui a été générée automatiquement de toute façon, je suppose que vous pouvez:

git merge --abort
rm ~/Documents/Sites/recipegenerator/.git/.MERGE_MSG.swp

et réessayez ce que vous faisiez.

aussi, il est bon de vérifier l'indication mentionnée dans (1) dans le message d'erreur. Vérifiez avec ps ou n'importe quoi d'autre pour n'importe quelles sessions vim ouvertes qui pourraient être en cours d'édition that MERGE_MSG. Si vous en apercevez, alors, Eh bien, allez-y et finissez de les éditer, ou faites-les cesser (escape, :q!, enter) (vim nettoiera les swaps en cessant), ou les terminer (les tuer, mais ensuite vous devez supprimer les fichiers de swap manuellement).

18
répondu quetzalcoatl 2017-06-30 18:28:56