<>

Einleitung

Als Beispiel für die Versionsverwaltung mittels Git soll im Folgenden die Erstellung eines neuen Firmware-Releases für die Router unserer Knoten beschrieben werden. Der eigentliche Prozess der Firmware-Erstellung ist bereits unter Firmware beschrieben. Demnach wird derzeit ein Standard-Gluon verwendet, nur dessen Konfiguration wird an unsere Community angepaßt. Diese Konfiguration verwalten wir im Repository "site-ffggrz".

Repository-Struktur, Versionierung

Im Repository gibt es neben dem Master-Branch noch je einen Branch für die aus den stabilen Gluon-Releases gebauten stable Firmwares. Der Master-Branch enthält die Konfiguration für die aktuelle Development-Version von Gluon. Daraus erstellen wir ausschließlich experimental Firmware.

Vorbereitungen

Persönlichen Fork erstellen

Da wir nicht direkt unser offizielles Repository ändern wollen, erstellen wir unseren eigenen Fork. Dazu klicken wir als eingeloggter Github-Benutzer im Repository "site-ffggrz" auf den Knopf "Fork" (rechts oben):

Danach werden wir automatisch auf den neu erstellten Fork unter https://github.com//site-ffggrz umgeleitet.

Fork Clonen

Zur weiteren Bearbeitung clonen wir nun den Fork in ein lokales Repository auf unserem PC:

$ cd 
$ git clone Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.:/site-ffggrz.git
$ cd site-ffggrz

Bearbeitung

Aktualisierung

Falls nicht schon geschehen, wechseln wir un unser lokales Repository und bringen dieses auf den aktuellen Stand:

$ cd /site-ffggrz
$ git pull

Auschecken des gewünschten Branches

Als Beispiel wollen wir eine neue Beta-Version der Firmware erstellen. Dazu nutzen wir den Branch mit der Konfiguration für die aktuell stabile Gluon-Version:

$ git checkout 

Änderungen durchführen

Nun können wir mit einem Editor unserer Wahl die Änderungen durchführen, welche zu einer neuen Version führen sollen. Danach sollte mit dieser Konfiguration die Firmware neu gebaut und getestet werden. Erst nachdem das erfolgreich war, machen wir mit Git weiter.

Wichtig: Es sollte generell immer nur eine Funktionalität geändert und getestet werden, um diese danach wie im folgenden beschrieben zu committen. Somit kann für jede Änderung ein separater Pull-Request erstellt werden, welcher bei Bedarf z.B. auch wieder zurückgenommen werden kann.

Änderungen Committen

Die Änderung wird nun, mit einer kurzen Beschreibung versehen, ins lokale Repository aufgenommen,  committet und anschließend ins persönliche Repository auf Github gepusht:

$ git add *
$ git commit -m ""
$ git push origin 

Übertragen ins offizielle Repository

Pull-Request

Nachdem das persönliche Repository den gewünschten Stand erreicht hat, müssen die Änderungen ins offizielle Repository unserer Community übertragen werden. Das geschieht über die Weboberfläche von Github.

Dazu wird im persönlichen Repository auf den Schalter zum Erstellen eines Pull-Requests geklickt:

Danach kann man Repositories und den Branch als Quelle und Ziel auswählen:

Links sind Ziel-Repository und -Branch angegeben, rechts Quell-Repository und -Branch. Darunter sind die durchgeführten Änderungen an den einzelnen Dateien ersichtlich, Durch Klick auf den "Merge"-Schalter wird der Pull-Request im offiziellen Repository (ffggrz) erstellt. Dort kann einer der Administratoren mit den erforderlichen rechten den Pull-Request mergen.