Ein git clone erstellt eine Arbeitskopie und fügt in der Regel das Remote-Repository unter dem Namen origin hinzu. Die Falle tritt vor dem ersten Befehl auf: eine SSH-URL verwendet Ihren Schlüssel, eine HTTPS-URL fordert oft ein Token an, und der Zielordner darf keine nützlichen Dateien enthalten. Nehmen Sie sich zwei Minuten Zeit, um diese drei Punkte zu überprüfen, bevor Sie ein online abgerufenes Skript ausführen.

Wählen Sie HTTPS oder SSH vor dem Klonen
Verwenden Sie HTTPS, um ein öffentliches Projekt abzurufen oder wenn Sie keinen Schlüssel auf diesem Computer konfigurieren möchten. Um später zu GitHub, GitLab oder Ihrer Plattform zu pushen, reicht das Passwort des Kontos normalerweise nicht aus: Der Dienst verlangt ein persönliches Zugriffstoken.
Verwenden Sie SSH, wenn Ihr öffentlicher Schlüssel bereits mit Ihrem Konto auf der Plattform verknüpft ist. Diese Methode vermeidet das erneute Eingeben eines Tokens, schlägt jedoch fehl, wenn der falsche Schlüssel angeboten wird oder wenn der SSH-Agent ihn nicht lädt. Beginnen Sie damit, die verwendete Identität zu überprüfen:
ssh -T [email protected]
ssh-add -l
Passen Sie den ersten Host an Ihre Plattform an. Eine Authentifizierungsantwort ohne Remote-Shell ist bei vielen Git-Hostern normal. Wenn Sie mehrere Schlüssel verwalten, überprüfen Sie Ihre Datei ~/.ssh/config mit ssh -G [email protected], bevor Sie Git beschuldigen. Unser Leitfaden zum Konfigurieren von SSH für mehrere Server erklärt, wie Sie einen Schlüssel und ein Konto durch Alias festlegen können.
Erstellen Sie die Kopie in einem leeren und identifizierbaren Ordner
Wechseln Sie in ein Verzeichnis, das für Ihre Projekte reserviert ist. Ohne zweiten Parameter erstellt Git einen Ordner mit dem Namen des Repositories. Mit einem klaren Namen vermeiden Sie, eine Testkopie mit der zu verwechseln, die Ihre Änderungen enthält.
mkdir -p ~/projekte
cd ~/projekte
pwd
ls -la
git clone https://github.com/octocat/Hello-World.git hello-test
cd hello-test
Führen Sie keinen Klon in einem Ordner aus, dessen Inhalt Sie nicht kennen. Git lehnt im Allgemeinen ein nicht leeres Verzeichnis ab, aber es ist sicherer, pwd und ls -la vor dem Befehl zu prüfen. Für eine Kopie, die nur zum Lesen des Codes gedacht ist, bleibt HTTPS die einfachste Wahl.
Mit SSH sieht die gleiche Operation so aus:
git clone [email protected]:mein-konto/mein-projekt.git mein-projekt
cd mein-projekt
Ersetzen Sie den Host, das Konto und das Repository durch die Werte, die von Ihrer Plattform angezeigt werden. Kopieren Sie niemals eine URL, die Sie in einer zweifelhaften Nachricht erhalten haben. Öffnen Sie zuerst die offizielle Seite des Projekts und vergleichen Sie den Eigentümer, den Repository-Namen und die Klon-URL.
Überprüfen Sie das Remote und die Dateien, bevor Sie irgendetwas ausführen
Nach dem Klonen überprüfen Sie den Ursprung, den aktiven Branch und den Status des Verzeichnisses. Diese Befehle ändern das Projekt nicht:
git remote -v
git branch --show-current
git status
git log -1 --oneline
find . -maxdepth 2 -type f -name 'README*' -o -name 'INSTALL*'
git remote -v zeigt die URLs an, die zum Abrufen und Senden von Änderungen verwendet werden. Überprüfen Sie sie vor einem ersten git push, insbesondere wenn das Projekt eine Deployment-Konfiguration enthält. Lesen Sie dann die README, die INSTALL-Dateien, die Abhängigkeiten und die Startskripte. Ein Git-Repository kann ein gültiges, altes oder sogar riskantes Skript enthalten, es erlangt Ihr Vertrauen nicht nur, weil der Klon erfolgreich war.
Um später ein Update abzurufen, bleiben Sie im geklonten Ordner und beginnen Sie mit der Überprüfung Ihrer Arbeit:
git status
git fetch origin
git log --oneline HEAD..origin/$(git branch --show-current)
git pull --ff-only
git pull --ff-only lehnt eine automatische Zusammenführung ab, wenn Ihre lokalen Commits und das entfernte Repository abweichen. Das ist besser als ein Update, das Änderungen vermischt, während Sie den Branch oder das Remote noch nicht angesehen haben.
Die offizielle Dokumentation von git clone beschreibt Optionen wie --depth, --branch und --recurse-submodules. Bewahren Sie sie für einen identifizierten Bedarf auf. Für einen ersten Klon vermeiden eine verifizierte URL, ein sauberer Ordner und das Lesen der README bereits die meisten Fehler.