Branches · Übung
Einen fertigen Branch sicher entfernen
Im Repository gibt es noch einen Branch namens clearer-title. Jemand hat ihn für die Arbeit am Titel des Führers angelegt. Diese Arbeit ist fertig: Ihr Commit, Clarify the guide title, ist genau der Commit, auf den main jetzt zeigt. Der Name hat seinen Zweck erfüllt. Wenn niemand aufräumt, sammeln sich solche Namen schnell in einem Repository an.
Ihn zu entfernen, nimmt dem Projekt nichts weg. Der Branch-Name war nämlich nie der Ort, an dem die Arbeit gespeichert war.
Vor dem Löschen des Namens prüfen
Beginne mit der einfachen Branch-Liste:
git branch
Du solltest auf main sein. Die Liste sollte außerdem add-opening-hours enthalten, das deinen eigenen Commit bewahrt, und clearer-title, den fertigen Branch, den du gleich entfernst.
Der Befehl git branch -d clearer-title verwendet git branch, um den genannten Branch zu verwalten. Die Option -d bedeutet Löschen mit Sicherheitsprüfung. Git verweigert diese Form, wenn der Branch Commits enthält, die in deinem aktuellen Verlauf nicht erhalten bleiben.
Führe die sichere Form aus:
git branch -d clearer-title
git branch
Die zweite Liste enthält clearer-title nicht mehr. Sie enthält weiterhin main und add-opening-hours.
Nur der Name des fertigen Branchs wurde gelöscht. Die Ausgangscommits bleiben über main erreichbar, und der separate Commit mit den Öffnungszeiten bleibt über add-opening-hours erreichbar. Deshalb ist das Löschen eines vollständig anderweitig erhaltenen Branchs etwas anderes als das Löschen eines Ordners voller kopierter Arbeit.
Lass add-opening-hours aber in Ruhe. Sein neuester Commit gehört nicht zu main. Diesen Namen zu löschen, würde die Arbeit tatsächlich ohne Verweis zurücklassen. Git würde dich ohnehin aufhalten: -d verweigert genau diese Situation. Deshalb ist es die sichere Form, die du standardmäßig verwenden solltest.
Warum ist git branch -d clearer-title in diesem Repository sicher?
Du kennst jetzt den vollständigen grundlegenden Ablauf mit Branches: Namen lesen, einen Branch anlegen und zu ihm wechseln, einen Commit erstellen, der nur diesen Branch verschiebt, zu main zurückkehren und einen fertigen Branch mit Gits Sicherheitsprüfung entfernen. Das Zusammenführen getrennter Verläufe gehört ins nächste Kapitel über Merging.