Schönheit liegt im Auge des Betrachters

Letzte Änderung am 28. Dezember 2021 by Christoph Jüngling

Im Artikel Kollaborateure habe ich geschildert, wie zwei Entwickler Code austauschen können, ohne dabei auf einen Git-Server zurückgreifen zu müssen. Spinnen wir den Gedanken noch etwas weiter: Angenommen, ich erhalte Code, der mir nicht gefällt. Im vorliegenden Beispiel waren nämlich drei aufeinander folgende Commits mit identischem Titel versehen. Der Gedanke liegt nahe, dass man diese drei Änderungen in ein Commit zusammenfassen kann. Ich muss dabei allerdings meinen Kollegen darauf hinweisen, dass er seinen ursprünglichen master-Branch entsprechend zusammenstreichen muss.

Zum Vereinigen dieser Commits muss ich zunächst den Stand meines Kollegen (“bundle/master”) auschecken. Da dieser ja bereits meinem “master”-Branch zugefügt wurde, ist das identisch mit dem Auschecken des Masters.

Dann klicke ich mit der rechten Maustaste auf mein grünes Feld “juengling/master” und wähle Rebase master onto this. In dem aufkommenden Dialog aktiviere ich Force Rebase und wähle aus dem Kontextmenü der beiden oberen “Change the structure”-Commits die Option Squash.

Nach dem Start Rebase wird mir die kombinierte Commit-Message zur Überarbeitung angezeigt. Die streiche ich entsprechend zusammen und bestätigt mit Commit und Done. Das Ergebnis pushe ich dann auf meinen Server und empfehle meinem Kollegen, mit einem Rechtsklick auf “juengling/master” und Reset master to this seinen “master”-Branch auf diesen zurückzusetzen. Dann führt ein nachfolgender “pull” zu derselben Struktur wie auf meinem Rechner und wir können munter weiterarbeiten.

Spätestens jetzt bemerken wir, dass das Arbeiten auf einem separaten Branch für meinen Kollegen besser gewesen wäre. Dann hätte er nämlich nur diesen Branch löschen müssen. Dieses Szenario werden wir demnächst noch einmal aufgreifen.

Und natürlich hätte auch mein Kollege dieses Rebase gleich machen könne, bevor er mir sein Bundle erstellt und zugeschickt hat. Das ist das Schöne an Git: Nichts ist für die Ewigkeit, solange wir es noch nicht in die Welt hinaus geschickt haben :-)

Ähnliche Artikel:

Schreibe einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht.

eins × fünf =