Wer regelmäßig programmiert, kommt an einer Versionsverwaltung nicht vorbei. Egal ob kleine Webseiten, große Softwareprojekte oder Konfigurationsdateien für Server – Änderungen sollten nachvollziehbar, sicher gespeichert und jederzeit wiederherstellbar sein. Genau dafür wurde Git entwickelt. Die meisten Entwickler nutzen dafür Plattformen wie GitHub, GitLab oder Bitbucket. Doch viele möchten ihre Projekte lieber selbst hosten oder unabhängig von externen Diensten arbeiten.
Ein Raspberry Pi eignet sich hervorragend als eigener Git-Server. Er benötigt kaum Strom, läuft rund um die Uhr und bietet genügend Leistung, um zahlreiche private oder kleine Teamprojekte zu verwalten. Gleichzeitig lernt man dabei nicht nur Git besser kennen, sondern versteht auch, wie moderne Softwareentwicklung hinter den Kulissen funktioniert.
In meinem eigenen Homelab spielt ein selbst gehosteter Git-Server eine wichtige Rolle. Nicht, weil GitHub ersetzt werden soll – GitHub ist für Open-Source-Projekte und Zusammenarbeit mit anderen Entwicklern hervorragend geeignet –, sondern weil lokale Repositories eine zusätzliche Sicherheit bieten. Interne Projekte, Experimente oder noch unveröffentlichter Code bleiben vollständig unter eigener Kontrolle.
Warum Git überhaupt?
Viele Einsteiger speichern ihre Projekte zunächst einfach in verschiedenen Ordnern.
Projekt
Projekt-Neu
Projekt-Neu2
Projekt-Final
Projekt-Final-Wirklich
Projekt-Final-Neu
Früher oder später verliert man dabei den Überblick. Welche Version enthält welche Änderung? Wann wurde ein Fehler eingebaut? Warum funktioniert plötzlich etwas nicht mehr?
Git löst genau dieses Problem. Jede Änderung wird als sogenannter Commit gespeichert und dauerhaft dokumentiert. Dadurch lässt sich jederzeit nachvollziehen, wann welcher Code geändert wurde und aus welchem Grund.
Noch wichtiger wird Git, sobald mehrere Entwickler gemeinsam an einem Projekt arbeiten. Jeder kann unabhängig Änderungen vornehmen, neue Funktionen entwickeln und diese später sauber zusammenführen.
Git ist nicht GitHub
Ein weit verbreitetes Missverständnis besteht darin, Git mit GitHub gleichzusetzen.
Git ist lediglich das Versionsverwaltungssystem.
GitHub hingegen ist eine Plattform, die Git-Repositories hostet und zusätzliche Funktionen wie Pull Requests, Issues oder Continuous Integration bereitstellt.
Dasselbe gilt für GitLab oder Gitea.
Ein Raspberry Pi kann deshalb problemlos selbst als Git-Server dienen.
Bare Repositories
Ein Git-Server enthält normalerweise keine Arbeitskopie des Projekts. Stattdessen werden sogenannte Bare Repositories verwendet.
Ein solches Repository enthält ausschließlich die eigentlichen Git-Daten.
Ein neues Repository lässt sich beispielsweise so erstellen:
mkdir projekt.git
cd projekt.git
git init --bare
Von einem anderen Rechner kann anschließend darauf zugegriffen werden:
git clone ssh://pi@server/home/pi/repos/projekt.git
Bereits damit steht ein vollwertiger Git-Server zur Verfügung.
Zugriff per SSH
Die meisten Git-Server verwenden SSH zur Authentifizierung. Jeder Entwickler besitzt seinen eigenen öffentlichen SSH-Schlüssel.
Der große Vorteil besteht darin, dass keine Passwörter übertragen werden müssen. Gleichzeitig lässt sich genau festlegen, welcher Benutzer auf welche Repositories zugreifen darf.
Ein typischer Ablauf sieht so aus:
Der Entwickler erstellt lokal ein Schlüsselpaar.
Den öffentlichen Schlüssel kopiert er auf den Raspberry Pi.
Ab diesem Moment kann Git automatisch eine sichere Verbindung herstellen.
Dieses Verfahren ist heute Standard und deutlich sicherer als klassische Passwortanmeldungen.
Gitea – Git mit Weboberfläche
Während Bare Repositories vollkommen ausreichen, wünschen sich viele Entwickler eine komfortable Weboberfläche.
Hier kommt Gitea ins Spiel.
Gitea ist eine leichtgewichtige Git-Plattform, die speziell für kleinere Server entwickelt wurde. Im Vergleich zu GitLab benötigt sie erheblich weniger Ressourcen und läuft deshalb hervorragend auf einem Raspberry Pi.
Nach der Installation erhält man eine moderne Benutzeroberfläche, über die sich Repositories verwalten, Benutzer anlegen und Projekte organisieren lassen.
Zusätzlich unterstützt Gitea unter anderem:
- Pull Requests
- Issues
- Wikis
- Releases
- Organisations
- SSH- und HTTPS-Zugriff
- Benutzerverwaltung
- Teams
- Webhooks
- Actions
Damit bietet Gitea einen erstaunlich großen Funktionsumfang, obwohl die Software vergleichsweise wenig Hardware benötigt.
Docker macht die Installation besonders einfach
Viele Administratoren betreiben Gitea inzwischen als Docker-Container.
Dadurch besteht die komplette Installation häufig nur noch aus einer Compose-Datei.
Ein Update erfolgt anschließend ebenfalls mit wenigen Befehlen.
Die eigentlichen Repository-Daten bleiben dabei dauerhaft in Docker-Volumes gespeichert.
Gerade für Homelabs ist dies die angenehmste Lösung.
Backups nicht vergessen
Git schützt zwar den Quellcode vor versehentlichen Änderungen.
Ein Backup ersetzt Git jedoch nicht.
Fällt die SSD des Raspberry Pi aus oder wird das Repository versehentlich gelöscht, hilft auch Git nicht weiter.
Deshalb sollte regelmäßig das gesamte Repository-Verzeichnis gesichert werden.
Noch besser ist eine Kombination aus mehreren Sicherungsstrategien.
Beispielsweise:
- Raspberry Pi
- tägliches Backup auf eine Synology
- zusätzlich verschlüsseltes Offsite-Backup
- optional Spiegelung wichtiger Projekte zu GitHub
Dadurch existieren mehrere voneinander unabhängige Kopien sämtlicher Projekte.
Git Hooks
Eine besonders interessante Funktion sind sogenannte Hooks.
Dabei handelt es sich um kleine Skripte, die automatisch nach bestimmten Git-Aktionen ausgeführt werden.
Nach jedem Push könnte beispielsweise automatisch:
- eine Webseite aktualisiert werden
- Docker Compose neu gestartet werden
- Tests ausgeführt werden
- Dokumentation erzeugt werden
- ein Backup erstellt werden
- eine Benachrichtigung versendet werden
Gerade kleinere CI/CD-Prozesse lassen sich dadurch überraschend einfach automatisieren.
Selbst hosten oder GitHub nutzen?
Diese Frage wird häufig gestellt. Die Antwort lautet meistens: beides.
GitHub eignet sich hervorragend für Open-Source-Projekte, Zusammenarbeit mit anderen Entwicklern und öffentliche Software.
Ein eigener Git-Server bietet dagegen Vorteile bei:
- privaten Projekten
- sensiblen Unternehmensdaten
- Experimenten
- internen Tools
- schneller Arbeit im lokalen Netzwerk
- vollständiger Kontrolle über sämtliche Daten
Viele Entwickler synchronisieren deshalb ihre wichtigsten Projekte sowohl mit dem eigenen Server als auch mit GitHub.
Dadurch entsteht eine zusätzliche Sicherungsebene.
Integration in moderne Entwicklungsumgebungen
Nahezu jede aktuelle Entwicklungsumgebung unterstützt Git von Haus aus. Egal ob Visual Studio Code, Cursor, Windsurf, Xcode oder JetBrains-Produkte – alle können direkt mit einem selbst gehosteten Git-Server kommunizieren.
Auch automatisierte Build-Prozesse oder lokale KI-Agenten lassen sich problemlos an einen eigenen Git-Server anbinden. Dadurch wird Git zum zentralen Speicherort für Quellcode, Dokumentation und Konfigurationsdateien.
Gerade in Kombination mit Docker, einem Raspberry Pi und einem kleinen Homelab entsteht so eine professionelle Entwicklungsumgebung, die vollständig unter eigener Kontrolle steht.
Fazit
Ein Raspberry Pi ist vielleicht nicht die erste Hardware, an die man bei einer Versionsverwaltung denkt. Tatsächlich eignet er sich jedoch hervorragend als Git-Server. Er arbeitet leise, zuverlässig und verbraucht nur wenig Energie. Gleichzeitig bietet er genügend Leistung für private Projekte, kleine Teams oder den Aufbau eines eigenen Homelabs.
Noch wichtiger ist jedoch der Lerneffekt. Wer seinen eigenen Git-Server betreibt, versteht nicht nur die Grundlagen von Git besser, sondern beschäftigt sich automatisch auch mit Linux, SSH, Benutzerverwaltung, Netzwerken und Automatisierung. Dieses Wissen ist weit über den Raspberry Pi hinaus nützlich und bildet die Grundlage für viele moderne Entwicklungs- und DevOps-Umgebungen.
Für mich gehört ein selbst gehosteter Git-Server deshalb zu den spannendsten Projekten, die man mit einem Raspberry Pi umsetzen kann. Er verbindet Softwareentwicklung, Systemadministration und Self-Hosting auf eine Weise, die sowohl Einsteigern als auch erfahrenen Entwicklern einen echten Mehrwert bietet.i ein, installieren Raspberry Pi OS, aktivieren SSH und machen aus der kleinen Platine Schritt für Schritt einen modernen Linux-Homeserver.
nerduniversum.de