Git

Git-Beispiel - neues Firmware-Release für die Router

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/<username>/site-ffggrz umgeleitet.

Fork Clonen #

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

$ cd <Arbeitsverzeichnis>
$ git clone git@github.com:<username>/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 <Arbeitsverzeichnis>/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 <a.b.x>

Ä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 "<Beschreibung der Änderung>"
$ git push origin <branch>

Ü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.

ממוצע (0 הצבעות)
הערות
אין תגובות עדיין. היה הראשון

Wiki-Navigation Wiki-Navigation