Wie in Wie entsteht "nicht etwas, das wir zusammenführen können"? Dieser Fehler kann durch einen Tippfehler im Zweignamen verursacht werden, da Sie versuchen, einen nicht vorhandenen Zweig abzurufen.
Wenn dies nicht das Problem ist (wie in meinem Fall), haben Sie wahrscheinlich keine lokale Kopie des Zweigs, den Sie zusammenführen möchten. Git erfordert lokale Kenntnisse beider Zweige, um diese Zweige zusammenzuführen. Sie können dieses Problem beheben, indem Sie den zu verschmelzenden Zweig auschecken und dann zu dem Zweig zurückkehren, in den Sie zusammenführen möchten.
git checkout branch-name
git checkout master
git merge branch-name
Dies sollte funktionieren, aber wenn Sie eine Fehlermeldung erhalten
error: pathspec 'remote-name/branch-name' did not match any file(s) known to git.
Sie müssen die Fernbedienung abrufen (wahrscheinlich, aber nicht unbedingt "Ursprung"), bevor Sie den Zweig auschecken:
git fetch remote-name
git fetch
erste machen, bevor ich die Fernbedienung zusammenführte.Git requires local knowledge of both branches in order to merge those branches
Es ist ein dummer Vorschlag, aber stellen Sie sicher, dass der Filialname keinen Tippfehler enthält!
quelle
Beim Ziehen von einer Fernbedienung stromaufwärts
git fetch --all
habe ich den Trick gemacht:In anderen Fällen stellte ich fest, dass der Fehler "Nicht etwas, das wir zusammenführen können" auch dann auftritt, wenn der Remote-Zweig (Ursprung, Upstream) nicht vorhanden ist. Dies mag offensichtlich erscheinen, aber Sie könnten sich
git merge origin/develop
auf einem Repo befinden, das nur hatmaster
.quelle
git remote add upstream
war das Wichtige, was mir fehlte, das es für mich gelöst hat. Ich denke, ein häufiger Fehler ist die Annahme, dass eine Gabel automatisch weiß, woher sie gegabelt wurde.Ich hatte auch dieses Problem. Der Zweig sah aus wie 'Benutzername / Master', was Git zu verwirren schien, da er wie eine von mir definierte Remote-Adresse aussah. Für mich damit
hat einwandfrei funktioniert.
quelle
origin/
den Namen der Gegenstelle angeben./
.Die folgende Methode funktioniert jedes Mal für mich.
quelle
Dies kann passieren, weil sich dieser Zweig nicht in Ihrer Nähe befindet. vor dem Zusammenführen verwenden
quelle
Sie erhalten diesen Fehler, weil der Zweig, den Sie zusammenführen möchten, in Ihrem lokalen Repository nicht vorhanden ist.
Überprüfen Sie also zuerst den Brach, den Sie in den Hauptzweig einbinden möchten, mit dem folgenden Befehl:
Versuchen Sie danach, es mit dem folgenden Befehl mit dem Hauptzweig zusammenzuführen:
quelle
checkout
Dieser Fehler deutet darauf hin, dass der Zweig, von dem aus Sie Änderungen zusammenführen möchten (dh in Ihrem Fall der Name des Zweigs), in Ihrem lokalen Zweig nicht vorhanden ist. Sie sollten daher den Zweig auschecken und die lokalen Änderungen abrufen. Kasse zu Ihrem Hauptzweig und holen, dann folgen Sie den folgenden Schritten:
quelle
Diese Antwort bezieht sich nicht auf die obige Frage, aber ich hatte ein ähnliches Problem, und vielleicht ist dies für jemanden nützlich. Ich habe meinen Feature-Zweig wie folgt zum Master zusammengeführt:
Ich habe die folgende Fehlermeldung erhalten:
Ich habe vor allem nach Lösungen gesucht, aber keine hat funktioniert.
Ich habe festgestellt, dass das Problem ein Rechtschreibfehler in meinem Zweigstellennamen war (tatsächlich lautet der Name des zusammengeführten Zweigs
fix-loads
).quelle
git merge origin/fix-loads
funktioniert.Ich habe diesen Fehler erhalten, als ich eine
git merge BRANCH_NAME "some commit message"
- ich hatte vergessen, das Flag -m für die Festschreibungsnachricht hinzuzufügen, daher dachte ich, dass der Filialname den Kommentar enthielt.quelle
Meiner Meinung nach hatte ich es versäumt, meine lokale Niederlassung mit Remote Repo abzubilden. Ich habe unten und es hat gut funktioniert.
quelle
Wenn die Zeichenfolge, die die Referenz enthält, von einem anderen Git-Befehl (oder einem anderen Shell-Befehl) erzeugt wird, stellen Sie sicher, dass sie am Ende keinen Rückgabewagen enthält. Sie müssen es entfernen, bevor Sie die Zeichenfolge an "git merge" übergeben.
Beachten Sie, dass dies ziemlich offensichtlich ist, da die Fehlermeldung in zwei Zeilen angezeigt wird:
quelle
Wir haben diesen Fehler erhalten, weil der Verzweigungsname ein Komma (,) hatte. Wir haben den lokalen Zweig gelöscht und ihn dann unter einem neuen Namen ohne Komma erneut überprüft. Wir konnten es erfolgreich zusammenführen.
quelle
Für die Nachwelt: Wie AxeEffect sagte ... Wenn Sie keine Tippfehler haben, überprüfen Sie, ob Ihr lokaler Filialname lächerliche Zeichen wie Kommas oder Apostrophe enthält. Genau das ist mir gerade passiert.
quelle
Ich schlage vor, zu überprüfen, ob Sie zu dem Zweig wechseln können, mit dem Sie zusammenführen möchten.
Ich habe diesen Fehler erhalten, obwohl sich der Zweig, mit dem ich zusammenführen wollte, im lokalen Repository befand und es keine Rechtschreibfehler gab.
Ich habe meine lokalen Änderungen ignoriert, damit ich zum Zweig wechseln kann (Stash oder Commit können ebenfalls bevorzugt werden). Danach wechselte ich zurück zum ursprünglichen Zweig und die Zusammenführung war erfolgreich.
quelle
Bei mir trat das Problem auf, als ich Folgendes versuchte:
Eigentlich hätte ich
master
stattdessen schreiben sollendevelop
, denn Master war der Filialname von Subtree, nicht mein eigentlicher Zweig.quelle
Das mag seltsam klingen, aber denken Sie daran, Ihre Git-E-Mail-Adresse und Ihren Namen einzurichten:
quelle
Für mich war das Problem das "doppelte Anführungszeichen" in der Zusammenführungsnachricht. Als ich die doppelte Markierung entfernte, funktionierte alles auf magische Weise. Ich hoffe, jemandem zu helfen. (Tut mir leid für mein schlechtes Englisch)
quelle
Ich hatte einen Arbeitsbaum mit Master und einen anderen Zweig in zwei verschiedenen Arbeitsordnern ausgecheckt.
Wenn Sie nur das neueste Commit zusammenführen müssen:
Und ist das gleiche, was ich immer getan habe:
quelle
Der Zweig, den Sie zusammenführen möchten, wird derzeit möglicherweise nicht von Ihrem Git identifiziert. Führen Sie also durch,
git branch
und prüfen Sie, ob der Zweig, den Sie zusammenführen möchten, nicht vorhanden ist. Wenn nicht, führengit pull
Sie ihn aus. Wenn Sie dies tungit branch
, ist der Zweig jetzt sichtbar. und jetzt trittst du aufgit merge <BranchName>
quelle