50 % Rabatt auf alle Pläne, begrenzte Zeit. Ab $2.48/mo
Noch 11 Min.
Entwicklertools & DevOps

Eigenen Git-Server hosten: Eine Linux-Schritt-für-Schritt-Anleitung

Pius Bodenmann By Pius Bodenmann 11 Min. Lesezeit Aktualisiert am 23. Januar 2024
Eigenen Git-Server hosten

Programmierung und Softwareentwicklung gewinnen zunehmend an Bedeutung. Damit steigt auch die Nachfrage nach den entsprechenden Tools. Das hat zu einem hart umkämpften Markt geführt, in dem verschiedene Entwicklungs- und DevOps-Tools um den Titel des meistgenutzten Programms in ihrem Bereich konkurrieren. Git ist eines davon. Mit der zunehmenden Verbreitung von Remote-Arbeit, vor allem bei Tätigkeiten am Computer, hosten immer mehr Entwickler ihre Projekte auf externen Servern, darunter auch Git. Wenn du deinen eigenen Git-Server aufsetzen möchtest, bist du hier genau richtig.

In diesem Artikel erkläre ich, was Git genau ist, gehe auf Vor- und Nachteile ein und zeige dir anschließend, welche Voraussetzungen du benötigst und wie du deinen eigenen Git-Server hostest. Los geht's!

Was ist Git?

Git ist ein DevOps-Tool, das Entwicklern und Programmierern dabei hilft, ihre Projekte so effizient wie möglich zu verwalten. Die wichtigste Funktion von Git ist die Nachverfolgung von Änderungen im Quellcode über die Zeit. Git ist kostenlos und Open-Source und wird regelmäßig aktualisiert. Das macht Git zu einem der zugänglichsten und zuverlässigsten DevOps-Tools für Entwickler weltweit. Jeder Computer, auf dem Git installiert ist, fungiert als vollständiges Repository mit einer eigenen Historie aller Dateiänderungen. Nach fast 20 Jahren aktiver Entwicklung und mehr als 30 veröffentlichten Updates läuft Git derzeit auf Version 2.40.0, weitere Updates sind in Planung. Werfen wir nun einen Blick auf die wichtigsten Anwendungsfälle von Git, um besser zu verstehen, warum man überhaupt einen Git-Server betreiben möchte.

Git-Anwendungsfälle

Bevor wir direkt zum Aufsetzen eines eigenen lokalen Git-Servers übergehen, schauen wir uns kurz die wichtigsten Anwendungsfälle von Git an, damit klar wird, warum wir einen Git-Server betreiben wollen.

Repository klonen

Viele Entwickler legen ein Git-Repository auf einem Server an, um ihre Projekte und Dateien zu verwalten. Mit wenigen einfachen Befehlen lässt sich das aktuelle Linux-Kernel-Repository replizieren und als Grundlage für ein übersichtliches, strukturiertes Änderungsprotokoll der gewünschten Dateien nutzen. Der Vorgang ist unkompliziert und eignet sich sowohl für kleine als auch für große Projekte. Dieser Vorgang wird auch als "Verzweigung", denn im Wesentlichen erstellen Sie dabei einen neuen Branch aus Ihrem bereits vorhandenen Repository.

Git-Workflow

Ein eigener Git-Server eröffnet dir außerdem einen strukturierten Git-Workflow. Du kannst deinen lokalen Git-Server nutzen, um per Cloning zwei Branch-Sätze anzulegen: einer repräsentiert dein Projekt, etwa eine Website, der andere ist ein separater Production-Branch auf dem Git-Server. Dort werden alle Änderungen jedes einzelnen Entwicklers festgehalten und lassen sich vor dem Deployment testen. Dieser mehrschichtige Ansatz macht deine Entwicklung nicht nur effizienter, sondern erleichtert auch die Nachverfolgung von Änderungen erheblich.

Zusammenführen

Erinnerst du dich an das Branching und den Change Log? Merging ist genau das Gegenteil davon. Beim Merging – das von vielen als die anspruchsvollste Seite von Git gilt – werden die Änderungen aus einem Branch zurück in den Master-Branch zusammengeführt, von dem er ursprünglich abgezweigt wurde. Das Ziel ist ein Git-Server mit einer vollständigen Projekthistorie, die alle Änderungen aus verschiedenen Bereichen in einem übersichtlichen Repository bündelt. Während du im laufenden Projekt mit Branches arbeitest, um Konflikte zu vermeiden, kehrt Merging diesen Schritt am Projektende um und gibt dir beim Troubleshooting das vollständige Gesamtbild.

Eigenen Git-Server hosten: Vor- und Nachteile

Jedes Programm hat seine Stärken und Schwächen – wer es einsetzen möchte, sollte diese kennen. In diesem Abschnitt gehen wir auf die Vor- und Nachteile von Git ein. Dabei beziehen sich diese Punkte speziell auf den Self-Hosted-Betrieb von Git, der im Mittelpunkt dieses Leitfadens steht.

Self-hosted Git: Vorteile 

Keine Drittanbieter

Wenn du Git selbst hostest, haben nur du und die Personen, denen du Zugang gewährst, Zugriff auf deine Dateien. Dritte bleiben außen vor. Du kannst dein Projekt unbesorgt vorantreiben und die Ressourcen, die du ursprünglich für Sicherheitsmaßnahmen eingeplant hattest, anderweitig einsetzen.

Sicherheit

Was die Sicherheit betrifft: Git ist durch Best Practices und den Einsatz von Drittanbieter-Tools so sicher wie kaum eine andere Lösung. Wer selbst hostet, gibt zwar ein gewisses Maß an vorkonfigurierter Absicherung auf, gewinnt dafür aber nahezu unbegrenzte Kontrolle darüber, wie sicher die eigene Infrastruktur ist.

Unbegrenzte Repositories

Erinnern Sie sich an Klonen und Branching? Bei Git gibt es keine Obergrenze für die Anzahl der Repositories. Das macht Git ideal für größere Projekte, bei denen jeder Entwicklungszweig ein eigenes Repository benötigt. Es eignet sich auch hervorragend für Projekte mit großen Dateien wie 3D-Assets und für die Arbeit mit Unity.

Selbst gehostetes Git: Nachteile

Hoher Verwaltungsaufwand

Git-Repositories können schnell außer Kontrolle geraten. Wenn du einen Git-Server auf deiner eigenen Plattform betreibst, wird die Verwaltung aller Branches und Metadaten schnell zur Herausforderung. Du brauchst entweder sehr viel Disziplin oder jemanden mit dem nötigen Know-how.

Steile Lernkurve

Git zu hosten ist eine Sache – es wirklich zu beherrschen und einen eigenen lokalen Git-Server zu betreiben, eine ganz andere. Git hat wahrscheinlich die steilste Lernkurve aller repository-basierten DevOps-Tools. Man muss entweder viel Zeit investieren, um es richtig zu lernen, oder die Arbeit auslagern.

Kein GUI und kein Windows-Support

Wollten Sie einen Git-Server auf Windows einrichten? Oder den Git-Server mit einer grafischen Oberfläche betreiben? Pech gehabt. Sie sind auf Betriebssysteme mit Linux-Kernel als Basis beschränkt, und eine GUI gibt es nicht. Möchten Sie einen Git-Server installieren und selbst hosten? Dann sollten Sie die Grundlagen des Programmierens beherrschen.

Veraltete Methode

Nach gängigen Maßstäben wirkt das Betreiben eines Git-Servers auf eigener Hardware veraltet – modernere Alternativen sind schlicht effizienter. Ein gutes Beispiel für eine solche Alternative wäre der Einsatz von GitLab. Bevor du dich also für einen eigenen Git-Server entscheidest, wirf einen Blick auf GitLab auch!

Voraussetzungen für die Installation eines Git-Servers 

Schauen wir uns kurz die Voraussetzungen an, die für die Einrichtung eines eigenen Git-Servers nötig sind. Du brauchst nur zwei Dinge: einen Server und eine Git-Installation, plus grundlegende Kenntnisse der Kommandozeile, um den Server zu konfigurieren.

Git-Server

Als Server kannst du einen eigenen PC verwenden, dedizierte Server bei klassischen Anbietern mieten oder, wenn du mehr Kontrolle bevorzugst, einen Cloud VPS (Virtual Private Server) nutzen. Mit einem VPS verwaltest du den Server direkt und betreibst die Git-Instanz gleichzeitig. Beachte, dass auf deinem Server eine Linux-Distribution installiert sein muss, um einen Git-Server einzurichten. Cloudzy bietet eine große Auswahl an Linux VPS Diensten mit mehr als 10 bewährten Linux-Distributionen, darunter Ubuntu, Debian, CentOS, Kali und OpenSUSE. Ab nur 4,95 $/Monat bekommst du einen zuverlässigen Linux-Server in deiner Nähe, der eine gute Verbindungsqualität sicherstellt und sich ideal zum Selbsthosten eines Git-Servers eignet.

Linux VPS Hosting

Hol dir einen Economy- oder Premium-Linux VPS zum günstigen Preis - ideal für Websites oder Remote-Desktop. VPS läuft auf Linux KVM für höhere Effizienz und setzt auf leistungsstarke Hardware mit NVMe SSD-Speicher für mehr Geschwindigkeit.

Weiterlesen

Git-Instanz

Die Einrichtung eines Git-Servers ist unkompliziert und wird im Rahmen der Installation weitgehend automatisch erledigt. Git ist Open-Source und kostenlos, was es gegenüber vielen anderen repository-basierten Entwicklungsplattformen attraktiv macht. Jetzt, wo die Voraussetzungen klar sind, kommen wir direkt zur Schritt-für-Schritt-Anleitung zur Installation eines Git-Servers auf deinem Linux-Server.

Git-Server auf Linux installieren (Schritt-für-Schritt-Anleitung)

Schritt 1: Git herunterladen und installieren

Öffne das Terminal deiner gewählten Linux-Distribution und gib folgenden Befehl ein, um Git herunterzuladen und zu installieren:

Ubuntu/Debian-basierte Distributionen:

sudo apt install git

Arch-basierte Distributionen:

sudo pacman -S git

RHEL-basierte Distributionen:

sudo dnf install git

Dieser Befehl lädt Git herunter und installiert es auf deinem Linux-Server. Warte, bis der Vorgang abgeschlossen ist.

Schritt 2: Den Git-Server registrieren und konfigurieren

Hast du einen lokalen Server auf einem anderen Rechner, starte ihn. Bei einem VPS verbindest du dich per SSH oder RDP remote mit deinem Linux-Server. Jetzt richten wir den Git-Server für den Remote-Betrieb ein. Dazu legst du zunächst ein Git-Benutzerkonto mit folgendem Befehl an:

ssh username@address
sudo useradd git

Wechsle anschließend mit diesem Befehl zu dem neu erstellten Konto:

su git

Dieser Schritt dient vor allem der Sicherheit deines lokalen Git-Servers. Mit diesem Konto bist du der Administrator des Servers. Du kannst künftige Benutzer sicher in Gruppen mit festgelegten Rechten und Zugriffsstufen einteilen.

Schritt 3: SSH-Verzeichnisse erstellen und Git-Repository auf dem Server anlegen

Als nächstes erstellst du ein dediziertes SSH-Verzeichnis, in dem deine Public Keys gespeichert werden, und richtest ein Git-Repository auf dem Server mit zusätzlichen Sicherheitsebenen und definierten Zugriffsrechten ein. Gib dazu folgenden Befehl ein:

ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys

Nachdem du mit dieser Befehlszeile den Zugriff für andere eingeschränkt hast, gib die nächste Zeile ein, um sicherzustellen, dass deine SSH-Keys sicher in einem authorized_keys Ordner, auf den nur Sie zugreifen können (führen Sie diesen Befehl nur aus, wenn Sie KEINE id_rsa.pub Datei haben):

cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub

Kopieren Sie abschließend den öffentlichen SSH-Schlüssel, den Sie erstellt haben, um eine neue SSH-Verbindung mit erhöhter Sicherheit zu Ihrem lokalen Git-Server einzurichten:

cd .ssh
vi authorized_keys

Schritt 4: Hauptverzeichnis erstellen

Auf Ihrem Linux-Server müssen Sie ein neues Verzeichnis anlegen, in dem alle Repositories gespeichert werden, die Git für Ihre künftigen Projekte verwendet. Dort verwalten Sie später alle Ihre Git-Repositories. Geben Sie folgenden Befehl ein:

mkdir directory_name

Schritt 5: Projekt hinzufügen!

Sie haben erfolgreich einen Git-Server eingerichtet. Die Installation und Konfiguration sind abgeschlossen. Jetzt müssen Sie nur noch weitere Projekte mit folgendem Befehl hinzufügen:

cd parent_directory
mkdir new_project.git

Geben Sie dann diesen Befehl ein, um den Remote-Origin auf Ihrem lokalen Rechner einzurichten:

git init --bare
git remote add origin name git@address:new_project.git

Führen Sie abschließend einen Git-Push durch, um zu prüfen, ob alles wie erwartet funktioniert:

touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git

Herzlichen Glückwunsch - Sie haben Git erfolgreich eingerichtet und ein Git-Repository auf dem Server erstellt.

Häufig gestellte Fragen

Kann ich Git ohne Server betreiben?

Nein. Unabhängig davon, welche Art von Server Sie nutzen, benötigen Sie Hardware, die als Server fungiert. Sie können GitHub als Cloud-Server für Ihre Repositories verwenden oder eines unserer VPS Angebote nutzen oder einen anderen Hosting-Dienst als Server einsetzen.

Gibt es eine Möglichkeit, einen Git-Server mit GUI zu installieren?

Ja. Git selbst unterstützt zwar keine grafische Oberfläche, aber es gibt eine eigenständige Version namens "Git GUI", die eine GUI mitbringt - für alle, die nicht ohne eine solche arbeiten möchten.

Ist Git kostenpflichtig?

Nein. Git ist ein freies Open-Source-Programm und wird es auch bleiben - so haben es die ursprünglichen Entwickler und Herausgeber vorgesehen. Sie können es als Grundlage für Ihre eigene Entwicklung nutzen, oder einfach kostenlos verwenden.

Warum sollten Sie Ihren eigenen Git-Server betreiben?

Wenn Sie ein kleineres Projekt mit überschaubaren Repositories betreiben, ist Self-Hosting deutlich privater und sicherer - das ist der Hauptgrund dafür. Bei größeren Projekten mit vielen Repositories nimmt die Effizienz des Self-Hostings jedoch ab.

Teilen

Weitere Blog-Beiträge

Weiterlesen.

Ein metallischer Behälter, geschützt von einem leuchtenden Neon-Cyan-Wireframe-Dome, mit dem Artikeltitel und dem Cloudzy-Logo vor einem tiefblauen Hintergrund.
Entwicklertools & DevOps

Die häufigsten Docker-Sicherheitsfehler und wie man sie vermeidet (2026)

Docker kann monatelang in der Produktion laufen, ohne dass ein Problem sichtbar wird. Container starten, Anwendungen antworten, nichts bricht. Dann sorgt ein offener Port oder eine falsch konfigurierte Berechtigung für

Rexa CyrusRexa Cyrus 15 Min. Lesezeit
Eine leuchtende blaue 3D-Würfelstruktur, die Docker-Container symbolisiert, mit dem Text 'Portainer vs Yacht: Which Docker UI Should You Choose' und dem Cloudzy-Logo.
Entwicklertools & DevOps

Portainer vs Yacht: Welches Docker-UI ist die richtige Wahl in 2026?

Docker-Container über die CLI zu verwalten ist für einfache Setups praktisch, stößt aber schnell an Grenzen. Mit wachsender Container-Anzahl wird das manuelle Nachverfolgen von Zuständen, Logs und Updates fehleranfällig

Rexa CyrusRexa Cyrus 13 Min. Lesezeit
Continuous-Integration-Tools
Entwicklertools & DevOps

Die besten CI/CD-Tools für optimierte DevOps-Workflows 2026

  Die Softwareentwicklung verändert sich schneller denn je. Wer mit diesem Tempo Schritt halten will, kommt an DevOps-Methoden und Agile nicht vorbei

Ada LovegoodAda Lovegood 11 Min. Lesezeit

Bereit zum Deployen? Ab 2,48 $/Monat.

Unabhängige Cloud seit 2008. AMD EPYC, NVMe, 40 Gbps. 14 Tage Geld-zurück-Garantie.