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
| Option | Bedeutung |
|---|---|
| --no-ff | always record a merge commit, even when a fast-forward was possible |
| --ff-only | refuse unless it can fast-forward |
| --squash | stage the combined change without committing or recording a merge |
| --abort | undo a merge that stopped on conflicts |
| --continue | finish after you resolved the conflicts |
| -X ours|theirs | auto-resolve conflicting hunks one way |
| --no-commit | merge but leave the commit to you |
Beispiele
git merge --no-ff feature/loginkeeps the branch visible in history
git merge --abortgets you back to before the conflicted merge
git merge --squash feature/loginone 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