git clone
Kopiert ein Repository in einen neuen Ordner
Der Befehl 'git clone' lädt ein Repository — jeden Commit, Branch und Tag — in einen neuen Ordner, checkt den Standard-Branch aus und merkt sich die Adresse als Remote namens origin. Dein main folgt origin/main, daher funktionieren git pull und git push sofort. Mit --depth lädst du nur die neuesten Commits.
Syntax
git clone [<options>] <repository> [<directory>]Optionen
Die richtige Option wählen
Vollständig oder flach
Was heruntergeladen wird
| Befehl | Historie | Am besten für |
|---|---|---|
git clone <url> | Alles | Tägliche Arbeit |
git clone --depth 1 <url> | Nur der neueste Commit | CI-Builds, schneller Blick |
Beispiele
Per SSH klonen
git clone git@github.com:acme/shop.gitLegt den Ordner shop an.
Per HTTPS klonen
git clone https://github.com/acme/shop.gitDasselbe über HTTPS.
Ordnernamen wählen
git clone git@github.com:acme/shop.git my-shopKlont nach my-shop.
Flacher Klon
git clone --depth 1 git@github.com:acme/shop.gitNur der neueste Commit.
Workflow-Beispiele
git clone git@github.com:acme/shop.gitHerunterladen
cd shopHineinwechseln
git switch -c feature/searchMit der Arbeit beginnen
Fehlerbehebung
Permission denied (publickey)
Ursache: Dein SSH-Schlüssel ist auf GitHub nicht eingerichtet
Füge deinen Schlüssel bei GitHub hinzu, oder klone mit der HTTPS-URL
fatal: destination path 'shop' already exists
Ursache: Ein Ordner mit diesem Namen existiert
Gib als zweites Argument einen anderen Ordnernamen an
Repository not found
Ursache: Falsche URL oder kein Zugriff
Prüfe die URL und deine Berechtigungen
Tipps & Stolperfallen
Best Practices
- ✓Nutze SSH-URLs, wenn du oft pushst.
- ✓Nutze --depth 1 in CI-Pipelines.
Häufige Fehler
- ✗Vergessen, per cd in den neuen Ordner zu wechseln, bevor man git-Befehle ausführt.
- ✗Innerhalb eines anderen Repositorys klonen.
- ✗Zum Aktualisieren erneut klonen — dafür gibt es git pull.
FAQ
Ja, als Remote-Tracking-Branches (origin/…). Ein Wechsel auf einen davon legt den lokalen Branch an.
git fetch --unshallow.