2016-03-18 6 views
9

GIT mich mit seinen nicht hilfreich Fehlermeldungen vermengen weiter :( Diese wirklich einen Preis verdient:Git merge ist nicht möglich, weil ich nicht zusammengefassten Dateien haben

„git merge ist nicht möglich, weil Sie nicht zusammengefassten Dateien haben“

Meine Situation:. Mein Herr Zweig auf github bearbeitet wurde (direkt im Browser), während meine lokalen Hauptzweig auch bearbeitet wurde

Foolishly, nahm ich an Sie einfach die beiden Versionen zusammenführen konnte und mit ihm getan werden, aber leider kann ich nicht zusammenführen - weil meine Dateien nicht zusammengefasst werden.

git merge remote/master 

Ergebnisse in

error: merge is not possible because you have unmerged files. 
hint: Fix them up in the work tree, and then use 'git add/rm <file>' 
hint: as appropriate to mark resolution and make a commit. 
fatal: Exiting because of an unresolved conflict. 

Also, nach dem Hinzufügen und die lokale Änderung zu begehen und dann wieder zu verschmelzen versuchen, erhalte ich:

merge: remote/master - not something we can merge 

Klar ich etwas Wesentliches bin hier fehlt. .. Habe ich eine falsche Vorstellung davon, was Zusammenführen bedeutet? Wie behebe ich dieses Problem mit einem anderen Remote-Master/lokalen Master-Zweig?

Antwort

5

Die Fehlermeldung:

merge: remote/Master - nicht etwas können wir fusionieren

sagt, dass Git nicht remote/master nicht erkennt. Dies liegt wahrscheinlich daran, dass Sie keinen "Remote" namens "Remote" haben. Sie haben eine "Fernbedienung" namens "Herkunft".

Denken Sie an "Fernbedienungen" als Alias ​​für die URL zu Ihrem Git-Server. master ist Ihre lokal ausgecheckte Version der Zweigstelle. origin/master ist die neueste Version von master von Ihrem Git-Server, die Sie abgerufen (heruntergeladen) haben. Eine fetch ist immer sicher, da nur die "origin/x" -Version Ihrer Filialen aktualisiert wird.

So, Ihren master Zweig, um wieder in sync, zuerst die neuesten Inhalte aus dem Git-Server herunterladen:

git fetch 

Dann führt die Zusammenführung:

git merge origin/master 

... Aber, vielleicht der bessere Ansatz wäre:

git pull origin master 

der pull Befehl tun die fetch und merge für Sie in einem Schritt.

+0

Dank taten, ich nicht erkennen, dass ziehen auch zusammen. Ich habe einen Abruf und eine Zusammenführung gemacht, aber nichts scheint zu passieren - obwohl Git sagt jetzt, dass alles auf dem neuesten Stand ist. Ich erwartete, dass die Zusammenführung einen 'Zusammenführungskonflikt' zeigt, in dem Sie die Änderungen, die Sie behalten möchten, manuell bearbeiten müssen? – Kokodoko

+0

In diesem Fall sieht es so aus, als ob Git in der Lage ist, die Diff-Auflösung für Sie zu erstellen ... um sicher zu gehen, dass Sie ein gutes "Gesundheits-Check" -Tool verwenden, das ich oft benutze, ist "gitk". Es kommt mit dem Git installieren, also sollten Sie es bereits haben. Geben Sie einfach "gitk" auf Ihrem Befehlsterminal ein, um eine grafische Ansicht Ihres Git-Baums zu erhalten. –

+0

Der Merge eingefügt Kommentare in meiner Datei, die wie folgt aussehen: <<<<<<< HEAD Schlüssel: 7234095827345093458. Vielleicht konnte git mein fileMerge-Tool nicht finden und fügte diese Codes für mich in einem Texteditor ein? – Kokodoko

0

ich in der gleichen Ausgabe lief und konnte zwischen Lachen oder Zerschlagung meinen Kopf auf den Tisch nicht entscheiden, wann ich diesen Fehler lesen ...

Was git wirklich versucht, Ihnen zu sagen: „Sie sind bereits in einem fusionieren und erst dort Konflikte lösen müssen! "

Sie haben eine Zusammenführung versucht und ein Konflikt ist aufgetreten.Dann bleibt git im Zusammenführungszustand und wenn Sie die Zusammenführung mit anderen Befehlen auflösen wollen, denkt git, dass Sie eine neue Zusammenführung ausführen wollen und so sagt es Ihnen, dass Sie dies aufgrund Ihrer aktuellen, nicht zusammengelegten Dateien nicht tun können ...

Sie können diesen Zustand mit git merge --abort verlassen und jetzt versuchen, andere Befehle auszuführen.

In meinem Fall habe ich versucht, einen Zug und wollte die Konflikte von Hand lösen, wenn der Fehler aufgetreten ist ...

+0

Gute Geschichte, aber ich sehe nicht, ob es eine tatsächliche Antwort auf das Problem gibt, das in der Frage hier angegeben wird :) – BartoszKP

+0

Gut zu wissen, dass ich nicht der einzige bin, der ständig durch git's kryptischen Fehler verblüfft wird Mitteilungen. – Kokodoko

0

ich vor manchmal thesame Herausforderung wiederholt hatte, tritt dieses Problem meist, wenn Sie von der ziehen versuchen, Remote-Repository und einige Dateien in Ihrer lokalen Instanz haben einen Konflikt mit der Remote-Version. Wenn Sie git von einer IDE wie intelliJ verwenden, werden Sie aufgefordert, eine Auswahl zu treffen, wenn Sie Ihre eigenen Änderungen behalten möchten die Änderungen in der Remote-Version, um Ihre zu überschreiben. Wenn Sie keine Wahl treffen, geraten Sie in diesen Konflikt. alles, was Sie tun müssen, ist laufen:

git --abort fusionieren # Der ungelöste Konflikt

abgeräumt

werden und Sie können weiterhin, was Sie vor der Pause

Verwandte Themen