459 Stimmen

Wie man den Fehler "nicht etwas, das wir zusammenführen können" von Git löst

Ich bin gerade auf ein Problem gestoßen, als ich einen Branch in den Master in git gemerged habe. Zuerst habe ich den Branch-Namen erhalten, indem ich git ls-remote ausgeführt habe. Nennen wir diesen Branch "Branch-Name". Anschließend habe ich den Befehl git merge branch-name ausgeführt und folgendes Ergebnis erhalten:

fatal: branch-name - nicht etwas, das wir mergen können

Wie löse ich diesen Fehler?

1voto

yogeswaran Punkte 11

Der Zweig, den Sie zu mergen versuchen, wird möglicherweise von Ihrem Git derzeit nicht erkannt. Führen Sie also git branch aus und sehen Sie, ob der Zweig, den Sie mergen möchten, vorhanden ist oder nicht. Falls nicht, führen Sie git pull aus. Wenn Sie jetzt git branch ausführen, wird der Zweig jetzt sichtbar sein. Führen Sie jetzt git merge aus.

1voto

eaykin Punkte 3543

Ich schlage vor, zu überprüfen, ob du in der Lage bist, zum Zweig zu wechseln, mit dem du zusammenführen möchtest.

Ich habe diesen Fehler bekommen, obwohl der Zweig, mit dem ich zusammenführen wollte, im lokalen Repository war und es keine Rechtschreibfehler gab.

Ich habe meine lokalen Änderungen ignoriert, damit ich zum Zweig wechseln konnte (Stash oder Commit können auch bevorzugt werden). Danach bin ich zum Ausgangszweig zurückgekehrt, und die Zusammenführung war erfolgreich.

0voto

Levon Petrosyan Punkte 6904

Für mich trat das Problem auf, als ich dies versuchte:

git merge -s ours --no-commit --allow-unrelated-histories /develop

Also hätte ich eigentlich master anstelle von develop schreiben sollen, weil master der Zweigname von Subtree war, nicht mein tatsächlicher Zweig.

0voto

cat-walk Punkte 51

git rebase der-branch-der-zusammengeführt-werden-soll

Ich habe das Problem mithilfe dieses Git-Befehls gelöst, aber rebase ist nur für einige Fälle geeignet.

0voto

Vyas Bharghava Punkte 6208

Ich hatte einen Arbeitsbaum mit Master und einem anderen Branch in zwei verschiedenen Arbeitsordnern ausgecheckt.

PS C:\rhipheusADO\Build> git worktree list
C:/rhipheusADO/Build         7d32e6e [vyas-cr-core]
C:/rhipheusADO/Build-master  91d418c [master]

PS C:\rhipheusADO\Build> cd ..\Build-master\

PS C:\rhipheusADO\Build-master> git merge 7d32e6e #Oder andere Zwischencommits
Aktualisiere 91d418c..7d32e6e
Fast-Forward
 Pipeline/CR-MultiPool/azure-pipelines-auc.yml | 5 +++--
 1 Datei geändert, 3 Zeilen eingefügt(+), 2 Zeilen gelöscht(-)

PS C:\rhipheusADO\Build-master> git ls-remote
From https://myorg.visualstudio.com/HelloWorldApp/_git/Build
53060bac18f9d4e7c619e5170c436e6049b63f25        HEAD
7d32e6ec76d5a5271caebc2555d5a3a84b703954        refs/heads/vyas-cr-core 

PS C:\rhipheusADO\Build-master> git merge 7d32e6ec76d5a5271caebc2555d5a3a84b703954
Bereits aktuell

PS C:\rhipheusADO\Build>  git push
Gesamt 0 (Delta 0), wiederverwendet 0 (Delta 0)
Zu https://myorg.visualstudio.com/HelloWorldApp/_git/Build
   91d418c..7d32e6e  master -> master

Wenn Sie nur den letzten Commit zusammenführen müssen:

git merge origin/vyas-cr-core 
git push

Und ist das gleiche wie ich es immer gemacht habe:

git checkout master # Dies ist erforderlich, wenn Sie keine Arbeitsbäume verwenden
git pull origin vyas-cr-core
git push

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X