2016-03-24 6 views
1

Eclipse-Jave EE IDE für Web-Entwickler Luna Service Release 2 (4.4.2) Eclipse-EGit 3.4.2.201412180340-rHowto von schlechten git merge in Eclipse erholen

Also ich zwischen zwei Git Zweige in Eclipse am verschmelzenden etwas, das ich dutzende Male ohne Zwischenfälle gemacht habe.

Diesmal wurden aus irgendeinem Grund Konflikte festgestellt. Ich bin mir nicht sicher warum. Aber nichts, was ich in Eclipse mache, lässt mich sie loswerden. Ich habe das "Merge-Tool" verwendet. Es ließ mich manuell über alle Änderungen hinausgehen, so wie ich es wollte. Gespeichert die Datei, Konflikt ist nicht weggegangen. Lassen Sie mich nicht zum Index hinzufügen. Lass mich nicht begehen. Versuchte die Team-Synchronisierungs-Perspektive mit der Funktion "Als zusammenfassen". Das hatte keine Wirkung, obwohl ich mich gut an die "bösen alten Svn-Tage" erinnere.

Viele veraltete Web-Seiten gibt, die mir sagen, über >>>>> und < < < < < Mark. Keine davon ist in meiner Datei zu finden.

Wie komme ich auf den Grund davon? Kurz davor, das Projekt aus Eclipse zu löschen und es aus dem Atlassian-Stash zu referenzieren, führt es weiter, wie kann ich aus dieser Catch-22 herauskommen?

Update: beantwortete meine eigene Frage. siehe unten.

Ja, es ist definitiv ein Fehler in der Eclipse Git Tooling.

Nach all dem kam ich auf Eclipse EGIT - all committed, pulled, merged, marked as merged, still on push I get "rejected - non-fast forward", what am I missing? und versuchte the solution referenced there. Dies war teilweise effektiv. Ich ging direkt zur Bearbeitung der konfliktbehafteten Datei, und fand die Zeichen und >>>>> und < < < <. Ich konnte die Datei bearbeiten und speichern, und als ich sie dem Index hinzufügte, verschwanden die Markierungen.

Aber es gab immer noch ein Problem. Meine Datei enthielt sowohl Änderungen, die als widersprüchlich gekennzeichnet waren, als auch Änderungen, die nicht als Konflikte gekennzeichnet waren. Als ich die Datei direkt editierte, waren NUR die widersprüchlichen Änderungen in der Datei. Die nicht problematischen Änderungen haben es nicht in die Datei geschafft. Um diese zu bekommen, musste ich einen manuellen Vergleich von Arbeitsbereich mit Zweig machen und diese verschieben.

Sheesh.

Also hier ist was wir haben.

  1. Das "Merge-Tool" ist schlimmer als für die Konfliktlösung unbrauchbar. Es entfernt die >>>>> Marken, die manuelle Bearbeitung erschweren. Außerdem funktioniert "Team -> Add to Index" nicht, nachdem Sie das Merge-Tool verwenden. Benutze es nicht! Zumindest bis ein Fix veröffentlicht wird.

  2. Manuelle Bearbeitung würde funktionieren, wenn die nicht konfliktbehafteten Änderungen der Datei hinzugefügt wurden.

Darüber hinaus hätte es ohnehin keinen Konflikt geben sollen. Der "Konflikt" belief sich auf eine Leerzeile gegenüber einem Abschnitt des neuen Codes. Wenn der Unterschied das nicht herausfinden kann, ist das auch ein Problem.

+0

Geben Sie [diese Seite] (http://www.firstaidgit.io) eine Aufnahme. – Shark

+0

Danke, aber ich sehe dort keinen Eclipse-spezifischen Inhalt. Ich bin mir ziemlich sicher, dass dies ein Eclipse-Problem ist und kein Git-Problem. –

Antwort

1

Ups, aus der History-Ansicht gibt es Reset -> Hard Reset. Das bringt mich zurück zum Vormischen. Ich fühle mich dumm, wenn ich diese Frage gestellt habe, lasse sie aber für den Fall offen, dass jemand anderes dies tut.