Installation eines Git-Servers

GitGitBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einleitung

Git ist ein leistungsstarkes, quelloffenes, verteiltes Versionskontrollsystem, das für die effiziente Verwaltung von Projektversionen unerlässlich ist. Die Einrichtung Ihres eigenen Git-Servers verbessert nicht nur Ihr Verständnis der internen Mechanismen von Git, sondern bietet auch eine sichere Umgebung für die Verwaltung privater Projekte. Dieses Lab führt Sie durch den Prozess der Einrichtung eines Git-Servers auf einer Linux-Maschine. Trotz der Verfügbarkeit von Plattformen wie GitHub für das Hosting von Code stellt ein privater Git-Server sicher, dass Ihre Daten sicher unter Ihrer Kontrolle bleiben.

🎯 Aufgaben

In diesem Projekt lernen Sie:

  • Wie Git auf einem Linux-System installiert und konfiguriert wird
  • Wie ein Benutzer speziell für Git-Operationen erstellt und verwaltet wird
  • Wie SSH-Schlüssel generiert und konfiguriert werden, um Verbindungen zwischen Ihrem lokalen Rechner und dem Git-Server zu sichern
  • Wie ein Git-Repository lokal und auf einem Server initialisiert und verwaltet wird
  • Wie Versionskontrolloperationen wie das Committen von Änderungen und das Pushen dieser zu einem Remote-Repository durchgeführt werden
  • Wie die Einrichtung durch Klonen des Repositorys verifiziert wird, um sicherzustellen, dass alles korrekt funktioniert

🏆 Errungenschaften

Nach Abschluss dieses Projekts werden Sie in der Lage sein:

  • Die Grundlagen der Installation und Einrichtung von Git, einem verteilten Versionskontrollsystem, in einer Linux-Umgebung zu verstehen
  • Benutzerberechtigungen und Sicherheit in einem Unix/Linux-System für anwendungsspezifische Aufgaben zu handhaben
  • Techniken für die sichere Kommunikation zwischen Maschinen mittels SSH-Schlüsseln zu nutzen, eine wesentliche Fähigkeit für die Verwaltung von Remote-Servern
  • Bare Git-Repositories zu erstellen und zu verwalten, die für die serverseitige Speicherung bei Git-Operationen verwendet werden
  • Ihre Projekte mit Git-Befehlen zu committen und zu versionieren und diese Änderungen an einen Remote-Server zu pushen
  • Häufige Probleme bei der Verwaltung von Remote-Repositories durch Klonen und Überprüfung der Datenintegrität zu verifizieren und zu beheben
Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 87% ist. Es hat eine positive Bewertungsrate von 92% von den Lernenden erhalten.

Git installieren

In diesem Schritt installieren wir Git auf Ihrem Rechner, der sowohl als lokaler als auch als Remote-Server dienen wird. Diese Übung bereitet Sie darauf vor, potenziell einen Git-Server auf Ihrem persönlichen Computer für das Hosting im lokalen Netzwerk einzurichten.

## Aktualisiert die apt-Paketdatenbank, um sicherzustellen, dass wir mit der neuesten Softwareliste arbeiten
sudo apt-get update

## Installiert Git mit apt-get
sudo apt-get install git

Dieser Befehl aktualisiert Ihre Paketliste, um sicherzustellen, dass alle nachfolgenden Installationen auf dem neuesten Stand sind, und installiert dann Git, das Versionskontrollsystem, das unsere Repositories verwalten wird.

Konfigurieren des Git-Benutzers

Zur Erleichterung der Verwaltung erstellen wir einen neuen Benutzer speziell für Git-Operationen und richten dessen Arbeitsverzeichnis ein.

## Erstellt einen neuen Benutzer für Git-Operationen
sudo useradd labex-git
sudo passwd labex-git

Legen Sie ein Passwort für den Git-Benutzer fest (z. B. "labex"), Sie müssen das Passwort zweimal eingeben.

Erstellen Sie als Nächstes ein Arbeitsverzeichnis für den Git-Benutzer und weisen Sie den Besitz zu

sudo mkdir /home/labex-git
sudo chown -R labex-git:labex-git /home/labex-git

Diese Befehlsreihe erstellt einen neuen Benutzer, legt ein Passwort fest und richtet ein dediziertes Arbeitsverzeichnis für Git-Operationen ein, um sicherzustellen, dass die Repository-Verwaltung von anderen Systemaktivitäten isoliert ist.

Generieren von SSH-Schlüsseln

Die Verwendung von SSH-Schlüsseln vereinfacht unsere Git-Operationen, da die Eingabe von Benutzeranmeldeinformationen bei jeder Operation entfällt. Lassen Sie uns ein SSH-Schlüsselpaar generieren und einrichten.

## Generiert ein SSH-Schlüsselpaar
ssh-keygen -t rsa -C "[email protected]"

Drücken Sie bei allen Aufforderungen die Eingabetaste, um die Standardeinstellungen zu verwenden. Senden Sie dann den öffentlichen Schlüssel an den Rechner des Git-Benutzers.

cat ~/.ssh/id_rsa.pub | ssh labex-git@localhost 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

Hier sollten Sie "yes" eingeben und das zuvor festgelegte Passwort eingeben.

Dieser Schritt generiert ein SSH-Schlüsselpaar und sichert die Verbindung zwischen Ihrer lokalen und der Remote-Einrichtung. Der öffentliche Schlüssel wird dann zur autorisierten Liste auf dem Git-Server hinzugefügt, was eine sichere Kommunikation ohne Passwortabfrage bei jeder Operation ermöglicht.

Erstellen eines Remote-Repositorys

Nun wechseln wir zum Git-Benutzer und richten ein "bare" Git-Repository ein, das für die serverseitige Speicherung geeignet ist.

## Wechselt zum Git-Benutzer
su labex-git

Geben Sie das von Ihnen festgelegte Passwort ein.

Nun können Sie einen Repository-Ordner erstellen und ein "bare" Repository initialisieren.

mkdir -p /home/labex-git/project.git
cd /home/labex-git/project.git
git init --bare

Diese Befehlssequenz wechselt den aktuellen Benutzer zum Git-Benutzer, erstellt ein neues Verzeichnis für Ihr Repository und initialisiert ein "bare" Repository. Diese Einrichtung ist entscheidend für den Git-Server, da er alle an ihn gesendeten Daten speichert, ohne Arbeitskopien zu pflegen, was ihn ideal für das Pushen und Pullen von Daten macht.

Einrichten des lokalen Repositorys

In diesem Schritt richten wir das lokale Repository auf Ihrem Rechner ein. Dieser Prozess spiegelt wider, was Sie normalerweise auf einer Code-Hosting-Plattform tun würden.

Wechseln Sie zunächst von Ihrem Git-Benutzer zurück zu Ihrem regulären Benutzer:

## Beendet die Git-Benutzersitzung
exit

Lassen Sie uns nun ein Verzeichnis für Ihr Projekt erstellen und ein Git-Repository initialisieren:

## Erstellt ein Verzeichnis für Ihr Projekt
mkdir -p /home/labex/project/labex_project
cd /home/labex/project/labex_project

## Initialisiert ein Git-Repository
git init

Dies richtet ein neues Git-Repository im angegebenen Verzeichnis ein, das als Ihr lokales Repository für das Projekt dient.

Konfigurieren Sie Ihre Git-Benutzerdetails:

## Setzt Ihren Git-Benutzernamen
git config --global user.name "labex"

## Setzt Ihre Git-E-Mail-Adresse
git config --global user.email "[email protected]"

Dieser Schritt stellt sicher, dass alle Ihre Commits mit Ihrem Benutzernamen und Ihrer E-Mail-Adresse aufgezeichnet werden, was die Nachverfolgung von Änderungen erleichtert.

Erstellen Sie eine Datei, um den Commit-Prozess zu testen:

## Erstellt ein Testdokument
echo "I am Labex Readme Doc" > readme.md

Dieser Befehl erstellt eine einfache Textdatei namens readme.md mit einer Beispielnachricht, die wir zum Testen des Commit- und Push-Prozesses zum Remote-Repository verwenden werden.

Committen und Pushen von Änderungen

Nachdem Sie das Repository initialisiert und Ihre Git-Konfiguration eingerichtet haben, ist es an der Zeit, Ihre ersten Änderungen zu committen und zu pushen.

## Fügt alle Änderungen zum Staging-Bereich hinzu
git add .

## Committet die Änderungen
git commit -m "Initial commit"

## Fügt das Remote-Repository hinzu
git remote add origin labex-git@localhost:/home/labex-git/project.git

Nun können wir die Änderungen an das Remote-Repository pushen.

git push origin master

Überprüfung der Einrichtung

Abschließend klonen wir das Repository, um sicherzustellen, dass Ihre Commits ordnungsgemäß auf dem Remote-Server gehostet werden.

## Navigiert in das Klon-Verzeichnis
cd /home/labex/project

## Klont das Repository
git clone labex-git@localhost:/home/labex-git/project.git

Sie können sehen, dass ein neues Repository im Pfad /home/labex/project geklont wurde und die Datei readme.md darin enthalten ist.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie man einen Git-Server unter Linux einrichtet und konfiguriert, SSH-Schlüssel verwaltet und typische Git-Operationen wie das Initialisieren von Repositories, das Committen von Änderungen und das Pushen auf einen Remote-Server durchführt. Diese Übung demonstrierte den vollständigen Lebenszyklus der Einrichtung und Nutzung eines Git-Servers und vermittelte Ihnen eine solide Grundlage für die sichere Verwaltung Ihrer eigenen Code-Repositories. Die hier erworbenen Fähigkeiten sind nicht nur grundlegend für die Softwareentwicklung, sondern verbessern auch Ihr Verständnis der Projektversionskontrolle in einer privaten, sicheren Umgebung.