Start·Terminal-Befehle

git merge

git

Aufruf

git merge [--no-ff|--squash] <branch>

Holt die Arbeit eines anderen Branches in den aktuellen; --squash zeichnet keinen Merge auf, git hält den Branch danach weiter für nicht gemergt.

Häufige Optionen

OptionBedeutung
--no-ffalways record a merge commit, even when a fast-forward was possible
--ff-onlyrefuse unless it can fast-forward
--squashstage the combined change without committing or recording a merge
--abortundo a merge that stopped on conflicts
--continuefinish after you resolved the conflicts
-X ours|theirsauto-resolve conflicting hunks one way
--no-commitmerge but leave the commit to you

Beispiele

git merge --no-ff feature/login

keeps the branch visible in history

git merge --abort

gets you back to before the conflicted merge

git merge --squash feature/login

one flat change, staged; you still have to commit

Verwirrend ist, dass Rückgängig mehrere Formen hat — den Zeiger eines Branch zu verschieben ist nicht dasselbe wie einen Gegen-Commit zu setzen.

So liest man das

  • Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
  • Drei Punkte … heißen: mehrere sind erlaubt.
  • Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.

Häufige Fragen

Q. Was macht git merge?

Holt die Arbeit eines anderen Branches in den aktuellen; --squash zeichnet keinen Merge auf, git hält den Branch danach weiter für nicht gemergt.

Q. Wie gibt man ihn ein?

git merge [--no-ff|--squash] <branch> — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 7; die vollständige Liste steht in man git. Der Befehl gehört zu git.

Verwandte Befehle

man-Seite: man git-merge