Git: Einen Branch umbenennen
Zuletzt aktualisiert
Du benennst einen Branch mit git branch -m um (das -m steht für "move", verschieben). Mit einem Argument benennt es den Branch um, auf dem du gerade bist; mit zwei benennt es einen beliebigen Branch anhand seines Namens um. Das Umbenennen ist rein lokal - wenn der Branch bereits gepusht war, löschst du zusätzlich den alten Namen auf dem Remote und pushst den neuen.
Probiere das im Terminal-Playground aus - eine echte Shell in deinem Browser, nichts zu installieren.
Syntax
| Command | What it does |
|---|---|
git branch -m new-name | Benennt den Branch um, auf dem du gerade bist |
git branch -m old-name new-name | Benennt einen anderen Branch anhand seines Namens um |
git branch -M new-name | Erzwingt das Umbenennen (überschreibt einen vorhandenen Namen) |
Einen Branch umbenennen, der auf dem Remote liegt
Das Umbenennen ist lokal, daher braucht ein gepushter Branch drei zusätzliche Schritte.
| Step | Command | Result |
|---|---|---|
| 1 | git branch -m old new | Benennt den Branch lokal um |
| 2 | git push origin --delete old | Löscht den alten Namen auf dem Remote |
| 3 | git push -u origin new | Pusht den neuen Namen und setzt den Upstream |
FAQ zum Umbenennen von Git-Branches
Wie benenne ich den Branch um, auf dem ich gerade bin?
Führe
git branch -m new-name nur mit dem neuen Namen aus. Git benennt den aktuellen Branch an Ort und Stelle um - du bleibst darauf, und deine Commits und deine Historie bleiben unberührt.Wie benenne ich einen Branch um, ohne zu ihm zu wechseln?
Gib beide Namen an:
git branch -m old-name new-name. Das benennt old-name in new-name um, auch wenn du dich gerade auf einem anderen Branch befindest.Wie benenne ich einen Branch um, der bereits auf GitHub liegt?
Benenne ihn lokal mit
git branch -m old new um, lösche den alten Namen auf dem Remote mit git push origin --delete old und pushe dann den neuen Namen und setze seinen Upstream mit git push -u origin new. Jeder andere, der den alten Branch hat, muss seine lokale Kopie aktualisieren.Was ist der Unterschied zwischen -m und -M?
-m (move) benennt den Branch um, verweigert dies aber, wenn bereits ein Branch mit dem Zielnamen existiert, sodass du nicht versehentlich einen anderen Branch überschreiben kannst. -M erzwingt das Umbenennen und überschreibt einen vorhandenen Branch dieses Namens. Verwende -m, es sei denn, du willst gezielt überschreiben.Kann ich das online üben?
Ja. Öffne den Terminal-Playground, um diese Befehle in einer echten Shell in deinem Browser auszuführen - nichts zu installieren. Coddys kostenloser interaktiver Git-Kurs behandelt außerdem das Verzweigen von Anfang bis Ende.