Wie behebe ich „Kann nicht in ein Repository mit dem Status ziehen: MERGING“ in EGit?

Lesezeit: 5 Minuten

Benutzer-Avatar
NobleUplift

Mein Team ist vor Kurzem zu Git gewechselt, und zum zweiten Mal heute hat Git einen Fehler bei einer einzigen Codezeile gemacht, die ich selbst geändert und bereits an mein lokales Commit übergeben habe, bei einer Datei, die zuletzt von mir selbst bearbeitet wurde. Dies ist die Fehlermeldung, die es mir gibt:

Cannot pull into a repository with state: MERGING"
org.eclipse.jgit.errors.WrongRepositoryStateException

Cannot pull into a repository with state: MERGING
    Cannot pull into a repository with state: MERGING

Ich kann nicht auf den Entfernungsserver ziehen oder drücken. Wie behebe ich das?

Eigentlich bessere Frage, wie kann ich das verhindern?

  • Ich verwende kein Egit, daher kann ich es nicht mit Sicherheit sagen, aber die Fehlermeldung scheint mir zu besagen, dass Sie mitten in einer Konfliktzusammenführung angehalten und weder (a) die Zusammenführung beendet noch (b) abgebrochen haben die Zusammenführung, also bist du still mitten in dieser widersprüchlichen Zusammenführung, und Egit weigert sich, fortzufahren, bis Sie entschieden haben, wie Sie mit dem Konflikt umgehen.

    – Torek

    24. Juni 2015 um 23:21 Uhr

Dies geschieht, weil Sie sich mitten in einer Zusammenführung befinden. Schließen Sie die Zusammenführung entweder ab, indem Sie alle Konflikte lösen und die entsprechenden Dateien zum Index hinzufügen, oder brechen Sie die Zusammenführung mit ab git merge --abort. Beachten Sie, dass Sie höchstwahrscheinlich Konflikte bekommen, wenn Sie die Zusammenführung abbrechen git pullda ich annehme, dass Ihr vorheriger Pull Konflikte verursacht hat (weshalb Sie mitten in einer Zusammenführung stecken geblieben sind).

  • Gibt es einen Weg zu tun git abort --merge über EGit? Ansonsten danke, ich werde das beim nächsten Mal versuchen, wenn ein Kollege oder ich einen Konflikt habe.

    – NobleUplift

    25. Juni 2015 um 21:34 Uhr

Benutzer-Avatar
Vijay R.

Das Problem hier ist, dass entfernte Repository-Dateien geändert wurden (dh jemand anderes hat die Datei geändert und in das Repository verschoben, das Sie in Ihrer lokalen Kopie geändert haben), und jetzt haben Sie auch dasselbe bearbeitet. Wenn Sie also versuchen, die Datei zu verschieben, wird eine ausgegeben Error.
Sie müssen die Datei zusammenführen und dann die Änderungen übernehmen und pushen.

Right click on your project -> Team ->Merge

Wenn Sie dies tun, werden Sie gefragt, welcher Zweig zusammengeführt werden soll. Wählen Sie den Zweig aus und fahren Sie mit dem Zusammenführen fort.

Fall 1: Wenn kein Konflikt besteht, wird der Zusammenführungsprozess abgeschlossen. Sie können sich jetzt verpflichten und pushen.

Fall 2: Im Falle eines Konflikts zeigt egit die Fehlermeldung als Konflikt an und alle Dateien mit Konflikten werden mit einem roten Symbol über dem Dateinamen in Ihrem Projekt-Explorer markiert.

Right click the files with conflict-> Team -> Merge Tool

Dadurch wird das Vergleichsfenster geöffnet. Überprüfen und führen Sie die gewünschten Änderungen zusammen. Sobald Sie die Zusammenführung abgeschlossen haben

Right click the files with conflict-> Team -> Add to index
Commit the changes and Push

Notiz : Sie müssen alle Ihre bereitgestellten Dateien vor diesem Zusammenführungsprozess festschreiben.
Und um deine Frage zu beantworten
“Eigentlich bessere Frage, wie kann ich das verhindern?”

Dies ist kein Problem, es passiert, wenn mehrere Benutzer in einem einzigen Repository arbeiten. Wann immer Sie dazu neigen, zu pushen, versuchen Sie vor dem Pushen, Pull aus dem Remote-Repository zu ziehen Remote-Repository und Sie lösen die Konflikte und pushen.

  • Aber Sie haben einen kritischen Teil meiner Frage verpasst, nämlich dass es einen Konflikt für eine Datei gibt, die zuletzt von bearbeitet wurde mich.

    – NobleUplift

    25. Juni 2015 um 21:33 Uhr

  • Ich bin der einzige Benutzer meines Openshift-Projekts. Ich habe alle Ihre Empfehlungen gemacht, kann dies aber nicht machen: Klicken Sie mit der rechten Maustaste auf die Dateien mit Konflikt -> Team -> Zum Index hinzufügen Es gibt kein “Zum Index hinzufügen” für die ausgewählte Konfliktdatei. Bevor ich “Rechtsklick auf die Dateien mit Konflikt -> Team -> Zurücksetzen …” für das gesamte Projekt gemacht habe. Und danach alles Mögliche: commin, push, pull, Compare.. Anscheinend hat sich die Serverversion nicht geändert. Aber ich kann Unterschiede nur durch Master-Bereitstellungsprobleme erkennen.

    – RoutesMaps.com

    23. Juni 2016 um 6:25 Uhr


  • add to index hat nichts für mich getan. Ich musste Team -> Reset machen

    – Omkar Kulkarni

    20. September 2018 um 21:36 Uhr

So habe ich es gelöst –

1) Right click on project -> Team -> Reset -> [Reset popup will open]
2) By Default Local Repo will be selected -
Reset to: refs/head/master
Reset Type: Mixed (HEAD and index updated)
3) Click on Reset
4) Right click on project -> Team -> Git Pull
5) Right click on project -> Team -> Push to upstream

Benutzer-Avatar
RoutenMaps.com

  1. Ich habe versucht, das zuvor empfohlene Openshift-Projektproblem zu lösen: git merge –abort.
  2. Ich bin zu einem Problem geworden: „Kann nicht in ein Repository mit dem Status ziehen: merging_resolved“. Gelöst durch: git reset –hard Siehe: „Kann nicht in ein Repository ziehen mit dem Status: merging_resolved“
  3. Als gemacht: git pull
  4. Git Commit
  5. Um den VIM-Editor zu beenden, habe ich Folgendes verwendet:<Esc key>:q<Enter key>

    6. Git-Push

Erfolg!

Klicken Sie mit der rechten Maustaste auf Konfliktdatei/-paket und wählen Sie Zum Index hinzufügen und Übertragen

Benutzer-Avatar
david_lid

Auf halbem Weg durch einen Zug starb meine Eclipse. Anschließend wurde ich in diesem Zustand belassen.

Um das Problem zu lösen, habe ich die index.lock-Datei im .git-Ordner gelöscht. Das konnte ich erst dann git merge --abort wie an anderer Stelle vorgeschlagen.

Benutzer-Avatar
david_pang

Ich habe dieses Problem heute mit eGit gelöst. Die Lösung besteht darin, dass Sie die in Konflikt stehende Datei auswählen und dann Commit rückgängig machen können. Dann können Sie die widersprüchliche Datei auflösen und zum Index hinzufügen, festschreiben und übertragen

1229660cookie-checkWie behebe ich „Kann nicht in ein Repository mit dem Status ziehen: MERGING“ in EGit?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy