Aus Raspberry Pi Geek 10/2019

Den Raspberry Pi als Git-Server nutzen (Seite 2)

Beginnen Sie im ersten Schritt damit, ein leeres Repository mit Git zu erstellen. Dazu legen Sie ein leeres Verzeichnis ab, das Sie dann im Weiteren als Workspace verwenden. Darin erzeugen Sie mit den Shell-Kommandos aus Listing 2 ein Repository.

Listing 2

$ mkdir testprojekt
$ cd testprojekt
$ git init

Wenn Sie sich nun mit ls -lisa den Inhalt des Verzeichnisses ansehen, finden Sie den dort von Git angelegten und versteckten Ordner mit dem Namen .git/. Grundsätzlich sollten Sie diesen Ordner und dessen Inhalt nie manuell verändern.

Wenn Sie sich etwas tiefer in die Grundlagen von Git einarbeiten möchten, empfehlen wir einen Blick in den Artikel “Innerer Zusammenhalt” in der Rubrik “Software” dieser Ausgabe: Er fasst die Grundlagen zu Git und dessen allgemeine Konzepte zusammen. Weiterführende Informationen zur gemeinsamen Arbeit an Software-Projekten mit Git liefert bei Interesse ein Artikel unserer Schwesterzeitschrift LinuxUser [3].

Da Git für das verteilte Arbeiten gedacht ist und Änderungen nachvollziehbar dokumentiert, müssen Sie nun im Repository Ihre Identität hinterlegen. Das erledigen Sie mit Kommando git config, ergänzt um die entsprechenden Informationen (Listing 3).

Listing 3

$ git config --global user.email "E-Mail-Adresse"
$ git config --global user.name "Name"

Um Aktionen eindeutig identifizieren zu können, arbeitet Git mit Prüfsummen oder englisch Hashes. Dabei handelt es sich um lange Folgen hexadezimaler Zahlen, wie etwa 9a03[...]91fc. Zum Glück genügt es in der Regel, die ersten sieben Zeichen des Hashes zu verwenden, um eine Aktion eindeutig zu identifizieren.

Für eine erste Aktion erstellen Sie nun eine Testdatei in Form einer mit “Hallo Welt” gefüllten Textdatei test.txt im zuvor angelegten Workspace und checken diese mit git commit in Git ein (Listing 4). Sie benötigen die Datei für die weiteren Beispiele.

Listing 4

$ echo "Hallo Welt" > test.txt
$ git add test.txt
$ git commit -m "Beschreibung"

Bisher haben Sie nur allein an Ihrem Projekt gearbeitet. Bislang könnte Ihnen allerdings auch kein anderer Entwickler helfen, falls Sie auf ein Problem stoßen. Daher sehen wir uns im nächsten Abschnitt an, wie Sie Ihr Repository mitsamt des Quellcodes auf einen Server laden.

Tipps und Tricks

Mit dem Kommando git -add all wählen Sie alle geänderten Dateien mit einem Kommando für das Einchecken (den Commit) aus. Das spart viel Zeit, wenn Sie einmal mehrere Dateien gleichzeitig geändert haben.

Möchten Sie verhindern, dass bestimmte Daten mit in das Repository eingecheckt werden, wie etwa temporäre Dateien oder externe Bibliotheken, dann erstellen Sie eine Datei .gitignore [8] und tragen dort die zu ignorierenden Files ein. Die Syntax erlaubt Wildcards und Muster.

Beim Auschecken zeigen die Timestamps der Dateien immer auf den Zeitpunkt des Auscheckens, nicht auf das Erstellungsdatum. Das erleichtert automatischen Build-Tools die Arbeit, da diese so erkennen, dass sich der Quellcode geändert hat.

Arbeiten Sie mit mehreren Entwicklern verteilt an mehreren Standorten an einem Projekt, sollten Sie vorab erst einmal prüfen, ob nicht Github für Sie infrage kommen könnte. Der in der Basisversion kostenlose Dienst stellt eine gute und günstige Alternative zum eigenen Server dar. Bei der Entscheidung spielt allerdings auch der Datenschutz und die Kontrolle über den eigenen Code eine große Rolle.

Git-Server

Die Architektur von Git lässt es zu, komplett verteilt zu arbeiten. Prinzipiell braucht man dafür gar keinen dedizierten Server. Allerdings ist es sinnvoll, dass sich alle Entwickler stets mit demselben Repository synchronisieren und ihre Änderungen auch dort wieder einspielen. Daher gibt es in Git sogenannte Bare Repositories. Sie verfügen über keinen Workspace und dienen lediglich als zentrale Anlaufstelle für die Entwickler. Wie eingangs schon erwähnt, greifen dabei viele Entwickler auf das SSH-Protokoll zurück.

Um auszuprobieren, wie man sich mit einem Git-SSH-Server verbindet, legen Sie nun mit dem Kommando sudo adduser git auf dem Raspberry Pi einen User git an. Um die Sicherheit zu verbessern, sollten Sie ein komplexes Passwort verwenden. Für einen SSH-Verbindungstest und zum Anlegen des Repositorys verbinden Sie sich nun als git und erstellen das Bare Repository (Listing 5, Zeilen 1 bis 7).

Listing 5

$ ssh git@localhost
$ mkdir repositories
$ cd repositories
$ git init --bare test.git
$ exit
$ git remote add origin git@localhost:/home/git/repositories/test.git
$ git push origin master
[...]
$ git clone git@Server-IP:/home/git/repositories/test.git

Tritt dabei ein Verbindungsfehler auf, aktivieren Sie den SSH-Dienst mit dem Konfigurationstool Raspi-config unter 5 Interfacing Options | P2 SSH. Danach laden Sie das lokale Repository auf den Server hoch – der Vorgang nennt sich im Git-Jargon “pushen”.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben