Wie man ein Git-Repository mit Benutzername und Passwort authentifiziert klont

GitBeginner
Jetzt üben

Einführung

Das Klonen eines Git-Repositorys ist eine essentielle Fähigkeit für Entwickler. Bei der Arbeit mit privaten Repositories ist oft eine Authentifizierung erforderlich, um auf den Code zugreifen zu können. Dieses Lab führt Sie durch den Prozess des Klonens eines Git-Repositorys unter Verwendung der Benutzername- und Passwort-Authentifizierung. Sie lernen die korrekte Syntax und Sicherheitsaspekte kennen, um einen sicheren Zugriff auf Remote-Repositories zu gewährleisten.

Git und Repository-Klonen verstehen

Bevor wir mit dem Klonen von Repositories mit Authentifizierung beginnen, wollen wir verstehen, was Git ist und was Klonen im Kontext von Git bedeutet.

Was ist Git?

Git ist ein verteiltes Versionskontrollsystem, das hilft, Änderungen im Quellcode während der Softwareentwicklung zu verfolgen. Es ermöglicht mehreren Entwicklern, an demselben Projekt zu arbeiten, ohne die Änderungen der anderen zu überschreiben.

Einige wichtige Git-Konzepte umfassen:

  • Repository (Repository): Ein Speicherort, an dem Ihr Projekt und seine Historie aufbewahrt werden
  • Commit (Commit): Ein Snapshot Ihres Projekts zu einem bestimmten Zeitpunkt
  • Branch (Branch): Eine parallele Version des Repositorys, die unabhängig entwickelt werden kann
  • Remote (Remote): Eine Version Ihres Repositorys, die auf einem Server gehostet wird (z.B. GitHub, GitLab oder Bitbucket)

Was ist Git-Klonen?

Das Klonen eines Git-Repositorys bedeutet, eine Kopie eines Remote-Repositorys auf Ihrem lokalen Rechner zu erstellen. Wenn Sie ein Repository klonen, laden Sie alle Dateien, Branches und die Commit-Historie herunter. Dies ermöglicht es Ihnen, lokal an dem Projekt zu arbeiten und später Ihre Änderungen zurück in das Remote-Repository zu pushen.

Überprüfen der Git-Installation

Bevor wir fortfahren, wollen wir überprüfen, ob Git auf unserem System installiert ist. Öffnen Sie Ihr Terminal und führen Sie aus:

git --version

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

git version 2.34.1

Dies bestätigt, dass Git installiert und einsatzbereit ist. Im nächsten Schritt werden wir die Syntax zum Klonen von Repositories mit Authentifizierung untersuchen.

Git-Klonen-Authentifizierungsmethoden

Beim Klonen von Git-Repositories gibt es verschiedene Möglichkeiten, sich zu authentifizieren, um auf das Remote-Repository zuzugreifen. Lassen Sie uns die gängigsten Authentifizierungsmethoden untersuchen und uns dabei auf die Benutzername- und Passwort-Authentifizierung konzentrieren.

Gängige Authentifizierungsmethoden

Git unterstützt verschiedene Authentifizierungsmethoden:

  1. HTTPS mit Benutzername und Passwort: Verwendung Ihrer Git-Hosting-Kontoanmeldeinformationen
  2. SSH-Schlüssel (SSH keys): Verwendung von Public- und Private-Key-Paaren
  3. Personal Access Tokens (Persönliche Zugriffstoken): Verwendung generierter Token anstelle von Passwörtern
  4. OAuth: Verwendung der Autorisierung durch Drittanbieterdienste

HTTPS-Authentifizierungs-Syntax

Für dieses Lab konzentrieren wir uns auf die HTTPS-Authentifizierung mit Benutzername und Passwort. Die grundlegende Syntax zum Klonen eines Repositorys mit Benutzername-Authentifizierung lautet:

git clone https://username@repository-url.git

Das System fordert Sie dann zur Eingabe Ihres Passworts auf. Eine alternative Syntax, die sowohl Benutzernamen als auch Passwort in der URL enthält, ist:

git clone https://username:password@repository-url.git

Diese Methode ist jedoch weniger sicher, da Ihr Passwort im Befehl sichtbar ist und möglicherweise in Ihrer Shell-Historie gespeichert wird.

Sicherheitsaspekte

Beachten Sie bei der Verwendung der Passwort-Authentifizierung folgende Sicherheitspunkte:

  • Geben Sie Ihre Anmeldeinformationen niemals an andere weiter
  • Achten Sie darauf, Ihr Passwort nicht an öffentlichen Orten einzugeben
  • Viele Git-Hosting-Dienste (GitHub, GitLab) empfehlen jetzt die Verwendung von persönlichen Zugriffstoken anstelle von Passwörtern
  • Erwägen Sie die Verwendung von Credential Caching (Anmeldeinformations-Caching), um zu vermeiden, dass Sie Ihr Passwort wiederholt eingeben müssen

Nachdem Sie nun die Authentifizierungsmethoden verstanden haben, bereiten wir uns im nächsten Schritt auf das Klonen eines Repositorys vor.

Klonen eines Git-Repositorys mit Benutzername und Passwort

Nachdem wir nun die Grundlagen verstanden haben, wollen wir eine praktische Übung durchführen, um ein Git-Repository mit Benutzername- und Passwort-Authentifizierung zu klonen.

Vorbereiten Ihres Arbeitsbereichs

Navigieren Sie zunächst in das Projektverzeichnis, in dem Sie das Repository klonen möchten:

cd ~/project

Klonen eines Repositorys

Für diese Übung klonen wir ein Test-Repository mit dem Benutzernamen labex_user und dem Passwort labex_password. Die Repository-URL lautet https://localhost/git-server/test-repo.git.

Geben Sie den folgenden Befehl ein, um das Repository zu klonen:

git clone https://labex_user@localhost/git-server/test-repo.git

Geben Sie bei Aufforderung das Passwort labex_password ein.

Wenn Sie Probleme mit dem obigen Befehl haben, können Sie alternativ die kombinierte Syntax verwenden (obwohl diese für die reale Welt weniger sicher ist):

git clone https://labex_user:labex_password@localhost/git-server/test-repo.git

Erwartete Ausgabe

Nachdem Sie den Klonbefehl ausgeführt haben, sollten Sie eine Ausgabe ähnlich der folgenden sehen:

Cloning into 'test-repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

Überprüfen des Klons

Um zu bestätigen, dass das Repository erfolgreich geklont wurde, lassen Sie uns den Inhalt des neuen Verzeichnisses überprüfen:

ls -la test-repo

Sie sollten den Repository-Inhalt sehen, einschließlich der Datei README.md und des Verzeichnisses .git:

total 16
drwxr-xr-x  3 labex labex 4096 Jul 15 12:34 .
drwxr-xr-x 10 labex labex 4096 Jul 15 12:34 ..
drwxr-xr-x  8 labex labex 4096 Jul 15 12:34 .git
-rw-r--r--  1 labex labex   16 Jul 15 12:34 README.md

Nachdem Sie das Repository erfolgreich geklont haben, können Sie dessen Inhalt untersuchen und mit der Arbeit beginnen.

Erkunden und Arbeiten mit dem geklonten Repository

Nachdem Sie das Repository erfolgreich geklont haben, wollen wir es erkunden und lernen, wie man damit arbeitet.

Navigieren Sie zunächst zum geklonten Repository:

cd ~/project/test-repo

Anzeigen des Repository-Inhalts

Um den Inhalt des Repositorys anzuzeigen, verwenden Sie den Befehl ls:

ls -la

Sie sollten die Datei README.md und das Verzeichnis .git sehen:

total 16
drwxr-xr-x  3 labex labex 4096 Jul 15 12:34 .
drwxr-xr-x 10 labex labex 4096 Jul 15 12:34 ..
drwxr-xr-x  8 labex labex 4096 Jul 15 12:34 .git
-rw-r--r--  1 labex labex   16 Jul 15 12:34 README.md

Anzeigen der Datei README.md

Lassen Sie uns den Inhalt der Datei README.md untersuchen:

cat README.md

Die Datei sollte Folgendes enthalten:

## Test Repository

Überprüfen des Git-Status

Um den Status Ihres Repositorys zu überprüfen, verwenden Sie den Befehl git status:

git status

Die Ausgabe sollte anzeigen, dass Sie sich auf dem Hauptzweig (main branch) befinden und Ihr Arbeitsverzeichnis sauber ist:

On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

Anzeigen der Commit-Historie

Um die Commit-Historie des Repositorys anzuzeigen, verwenden Sie den Befehl git log:

git log

Sie sollten den ersten Commit sehen:

commit abcdef1234567890abcdef1234567890abcdef12 (HEAD -> master, origin/master)
Author: LabEx User <labex@example.com>
Date:   Mon Jul 15 12:34:56 2023 +0000

    Initial commit

Änderungen am Repository vornehmen

Lassen Sie uns eine einfache Änderung an der Datei README.md vornehmen:

echo "This is a test repository for learning Git authentication." >> README.md

Zeigen Sie den aktualisierten Inhalt an:

cat README.md

Die aktualisierte Datei sollte wie folgt aussehen:

## Test Repository
This is a test repository for learning Git authentication.

Nun haben Sie erfolgreich ein Git-Repository mit Benutzername- und Passwort-Authentifizierung geklont, dessen Inhalt erkundet und Änderungen an einer Datei vorgenommen. In einem realen Szenario würden Sie diese Änderungen committen und zurück zum Remote-Repository pushen, was ebenfalls eine Authentifizierung erfordern würde.

Zusammenfassung

In diesem Lab haben Sie Folgendes gelernt:

  • Die Grundlagen von Git und was das Klonen eines Repositorys bedeutet
  • Verschiedene Authentifizierungsmethoden für Git, mit Schwerpunkt auf der Benutzername- und Passwort-Authentifizierung
  • Wie man ein Git-Repository mit Benutzername und Passwort mit der korrekten Syntax klont
  • Sicherheitsaspekte bei der Verwendung der Passwort-Authentifizierung
  • Wie man ein geklontes Repository erkundet und Änderungen daran vornimmt

Diese Fähigkeiten sind für Entwickler, die in kollaborativen Umgebungen arbeiten, unerlässlich. Während die Benutzername- und Passwort-Authentifizierung üblich ist, wechseln viele Git-Hosting-Dienste zu sichereren Authentifizierungsmethoden wie Personal Access Tokens oder SSH-Keys. Das Verständnis der Grundlagen der Git-Authentifizierung hilft Ihnen, effektiv mit jedem Git-basierten Workflow zu arbeiten.