Es wurde eine Auslagerungsdatei mit dem Namen gefunden

74

Wenn ich versuche, meinen Zweig mit einem Remote-Zweig zusammenzuführen:

git merge feature/remote_branch

Ich habe diese Nachricht erhalten:

E325: ATTENTION
Found a swap file by the name ".git/.MERGE_MSG.swp"
          owned by: xxxxxx   dated: Mon Nov 12 23:17:40 2012
         file name: ~xxxxxx/Desktop/My-ios-App/.git/MERGE_MSG
          modified: YES
         user name: xxxxxx   host name: unknown-b8-8d-12-22-27-72.lan
        process ID: 1639
While opening file ".git/MERGE_MSG"
             dated: Tue Nov 13 14:06:48 2012
      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 .git/MERGE_MSG"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".git/.MERGE_MSG.swp"
    to avoid this message.

Swap file ".git/.MERGE_MSG.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

Wie gehe ich damit um?

Malloc
quelle

Antworten:

79

Sieht so aus, als hätten Sie eine offene git commitoder git mergelaufende Funktion, und ein Editor ist noch offen, um die Festschreibungsnachricht zu bearbeiten.

Zwei Möglichkeiten:

  1. Suchen Sie die Sitzung und beenden Sie sie (vorzuziehen).
  2. Löschen Sie die .swpDatei (wenn Sie sicher sind, dass die andere Git-Sitzung nicht mehr vorhanden ist).

Klarstellung aus Kommentaren:

  • Die Sitzung ist die Bearbeitungssitzung.
  • Sie können sehen , was .swpdurch Eingabe des Befehls verwendet wird :swinnerhalb der Bearbeitungssitzung, aber es ist im Allgemeinen eine versteckte Datei im selben Verzeichnis wie die Datei , die Sie verwenden, mit einem .swpDateiendung (dh ~/myfile.txtwäre ~/.myfile.txt.swp).
Trojaner
quelle
12
Wie finde ich diese SWP-Datei?
Oleh Liskovych
14
Wie finde ich "die Sitzung" - was bedeutet das?
RUKAclMortality
Welche Option sollte ich nach Abschluss genau wählen? Bearbeiten oder wiederherstellen? @Trojanfoe
Tengerye
Können Sie näher erläutern, wie Sie die Sitzung beenden oder die Datei löschen können?
Leticia Esperon
Siehe meine Antwort unten für Details zum Entfernen der .swp-Datei
Robert Sinclair
17

In der akzeptierten Antwort wird nicht erwähnt, wie die SWP-Datei gelöscht wird.

Drücken Sie "D", wenn die Eingabeaufforderung angezeigt wird, und sie wird entfernt.

In meinem Fall wurde nach dem Drücken von D die zuletzt gespeicherte Version intakt gelassen und die SWP gelöscht, die erstellt wurde, weil ich VIM falsch beendet habe

Robert Sinclair
quelle
3
Vielen Dank - an wen auch immer dies im Bash-Programm erstellt wird - sollte ein Kommentar in der Art von: "Wenn Sie Ihre Änderungen behalten und die alten Änderungen löschen
möchten
oder einfach git clean -f
vikas kumar
1

Ich hatte auch diesen Fehler, als ich versuchte, die Änderungen in einen Zweig zu ziehen, der nicht aus dem Upstream-Zweig erstellt wurde, aus dem ich zu ziehen versuche.

ZB - Dies erzeugt einen neuen Zweigabgleich night-versionvon Upstream

git checkout upstream/night-version -b testnightversion

Dadurch wird eine testmasterlokale Verzweigung erstellt, die mit der masterVerzweigung von Upstream übereinstimmt .

git checkout upstream/master -b testmaster 

Wenn ich nun versuche, die Änderungen night-versionin den testmasterZweig zu ziehen, führt dies zu diesem Fehler.

git pull upstream night-version //while I'm in `master` cloned branch

Ich habe es geschafft, dieses Problem zu lösen, indem ich zum richtigen Zweig navigiert und die Änderungen übernommen habe.

git checkout testnightversion
git pull upstream night-version // works fine.
Jitendrapurohit
quelle
1

.MERGE_MSG.swp ist in Ihrem Git geöffnet. Sie müssen nur diese SWP-Datei löschen. In meinem Fall habe ich den folgenden Befehl verwendet und es hat gut funktioniert.

rm .MERGE_MSG.swp
Abdur Rahman
quelle
Um dies hinzuzufügen: Der Ordner ist möglicherweise ausgeblendet, sodass Sie zuerst
Folgendes
0

Weitere Informationen ... Manchmal werden SWP-Dateien möglicherweise von VM gespeichert, das im Hintergrund ausgeführt wurde. Möglicherweise wird die Meldung "Berechtigung verweigert" angezeigt, wenn Sie versuchen, die Dateien zu löschen.

Überprüfen und beenden Sie den Prozess vm

Ramakrishna Talla
quelle