Git Server auf einem Raspberry Pi betreiben

Wer selbst Quellcode entwickelt oder auch nur eine der tausenden Smartphone Apps genutzt hat, welche damit entwickelt und bereitgestellt werden, mag bereits mit Git in Berührung gekommen sein. Git ist ein quelloffenes und schlankes Versionsverwaltungssystem für nicht-lineare Entwicklung von Projekten und deren Synchronisation.
Zahlreiche Anbieter im Internet ermöglichen das Verwalten kleinerer Projekte auch kostenlos, sind jedoch öffentlich und für jedermann unter einer Open-Source Lizenz beliebig sichtbar. Wer zunächst einmal in der Privatheit eines eigenen Servers und ohne Limitierungen entwickeln möchte, der kann das auf eigener Hardware wie dem Raspberry Pi tun. Besonders beim Einstieg mit Git empfiehlt es sich Tests in einer eigenen Umgebung durchzuführen, um den Umgang damit zu lernen bevor das Projekt der Öffentlichkeit zugänglich gemacht wird.

Was diese Anleitung abdeckt

Wir richten Git auf einem Raspberry Pi ein und legen ein leeres Projekt an. Das Projekt wird in diesem Fall ohne Webinterface bereitgestellt. Je nach Anwendungsfall ließe sich die Installation erweitern, sodass beispielsweise mehrere Personen auf das Projekt mittels SSH zugreifen oder das Projekt über ein Webinterface bereitgestellt wird. Diese Punkte wären Gegenstand eines weiteren Artikels, der auf diesen aufbaut.

Voraussetzungen

  • Raspberry Pi
  • Systembenutzer mit Zugriffsmöglichkeit über SSH (auf Wunsch auch von außerhalb des internen Netzwerks über Internet)

Anleitung

Installation

Git ist in jedem Linux Repositorium, wie Debian und dessen Derivat Raspbian, erhältlich und kann wie jedes Paket mittels weniger Kommandozeilen über apt-get installiert werden. Wer Raspbian einsetzt muß nichts weiter tun als folgende Zeilen in eine Konsole einzugeben:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git-core

Anlegen eines leeren Projekts

Unser erstes eigenes Git-Projekt legen wir einfach in einem Unterverzeichnis unseres eigenen Benutzerverzeichnisses an. Erst in jenem Fall, wenn mehrere Benutzer auf ein Projekt zugreifen sollen, ist es wichtig darauf zu achten ein Verzeichnis zu wählen, welches den gewünschten Benutzern die benötigten Zugriffsrechte einräumt.
Im einfachsten Fall unseres ersten eigenen Projekts legen wir in unserem eigenen Benutzerverzeichnis einen neuen Ordner meinprojekt.git. Die Endung .git ist ein Standard für Git-Repositorien.

mkdir meinprojekt.git
cd meinprojekt.git
git init --bare

Projekt mit einem lokalen Rechner synchronisieren

Das auf diese Weise hergestellte Repositorium kann nun auf jeden lokalen Rechner heruntergeladen werden, sofern eine Zugriffsmöglichkeit über SSH mit dem Raspberry Pi besteht. Erfolgt der Zugriff von außen auf das Netzwerk müssen hierfür entsprechende Vorkehrungen getroffen werden. Befindet sich euer Raspberry Pi etwa in einem Heimnetzwerk hinter einem Router, so muß dieser entsprechend mit Portweiterleitungen auf das Gerät eingerichtet werden, damit eure SSH Anfragen vom Router entsprechend weitergeleitet werden. Dies wird Inhalt einer späteren Anleitung sein.
Besteht ein Zugang via SSH verbinden wir uns ganz einfach mit unserem neuen Git-Projekt.

git clone ssh://pi@ip-adresse/home/pi/meinprojekt.git/

Die obige Zeile setzt sich aus verschiedenen Angaben an, welche Eurer Umgebung entsprechend abgewandelt werden kann. Bei „pi“ vor dem „@“ handelt es sich um den Benutzernamen, mit dem Ihr euch an eurem Raspberry Pi anmeldet. Bei „pi“ handelt es sich selbstverständlich um den Standardbenutzer, der mit Raspbian immer angelegt ist. Hinter dem „@“ folgt die Adresse des Raspberry Pi, was eine IP-Adresse innerhalb eures Netzwerks sein kann, oder eine Adresse die ihr auch von außerhalb des Netzwerks erreichen könnt (wenn es eine statische IP gibt oder ein praktischer, dynamischer DNS-Dienst wie DuckDNS genutzt wird). Dahinter schließt sich der volle Pfad des eben angelegten Repositoriums an. In unserem Fall „meinprojekt.git“, welches wir im Benutzerverzeichnis des Benutzers „pi“ abgelegt haben.

Damit verfügen wir nun über eine, bereits ausgecheckte, Arbeitskopie unseres leeren Repositoriums und können und mit der Entwicklung unseres Programmcodes beginnen. Änderungen können wir mit

git add --all

hinzufügen. Einen „commit“ erstellen mit

git commit -m "Erster commit"

und Änderungen hochladen mittels

git push origin master

Es wird empfohlen, sich die Funktionsweise und Befehle dieses mächtigen Werkzeugs Git gut durchzulesen. Im Web gibt es hierzu zahlreiche und hervorragende Anleitungen (wie beispielsweise dieses von Thomas Krenn).

Wie geht es weiter?

Die allerersten Schritte beim Anlegen eines Projekts wären damit getan. Ich empfehle nochmals sich die Funktionsweise von Git durchzulesen, etwa in dem kurz zuvor oben verlinkten Artikel.

Wie angedeutet sind einige Vorkehrungen zu treffen, wenn das Projekt von außen zugänglich gemacht werden soll. Da die meisten einen Raspberry Pi zuhause hinter einem Heimrouter betreiben, ist es erforderlich eine Portweiterleitung auf den Raspberry Pi einzurichten, sowie einen dynamischen DNS wie DuckDNS zu nutzen.

Der logische nächste Schritt wäre, im Verbund mit Kollegen an einem Projekt zu arbeiten. Für diese müssen Benutzerkonten und Zugriff über SSH erstellt werden. Das Projekt sollte zudem in einem Verzeichnis liegen, auf welches die gewünschten Benutzer Zugriffsrechte erhalten können.

Schreibe einen Kommentar