4.3 KiB
Git – Remote-Branches: Häufige Aufgaben und Lösungen
Stand: 2025-05-26
Diese Anleitung erklärt, wie man mit Remote-Branches arbeitet – insbesondere dann, wenn der Branch lokal noch nicht existiert oder gezielt ressourcenschonend gearbeitet werden soll.
📌 Inhalt
- Git – Remote-Branches: Häufige Aufgaben und Lösungen
- 📌 Inhalt
- ❓ 1. Wie hole ich einen Remote-Branch, den ich lokal noch nicht habe?
- ❓ 2. Warum sehe ich den Remote-Branch nicht in
git branch -r
? - ❓ 3. Holt
git clone
automatisch alle Branches? - ❓ 4. Wie klone ich gezielt nur einen bestimmten Branch?
- ❓ 5. Wann ist
--single-branch
sinnvoll? - ❓ 6. Wie sehe ich alle Remote-Branches vor dem Clonen?
- 🛠️ Optionaler Alias-Tipp
- 🧠 Zusammenfassung
❓ 1. Wie hole ich einen Remote-Branch, den ich lokal noch nicht habe?
git fetch
git checkout -b <lokaler-name> origin/<remote-branch>
Alternativ automatisch als Tracking-Branch:
git checkout --track origin/<remote-branch>
Beispiel:
git checkout --track origin/feature/chat-system
❓ 2. Warum sehe ich den Remote-Branch nicht in git branch -r
?
git branch -r
zeigt nur die lokal bekannten Remote-Refs.
Du musst vorher git fetch
ausführen:
git fetch
git branch -r
Optional: erzwungen alles holen:
git fetch origin '+refs/heads/*:refs/remotes/origin/*'
❓ 3. Holt git clone
automatisch alle Branches?
Nicht ganz. git clone
:
- ✅ holt alle Branches als Referenzen
- ❌ checkt nur den Standard-Branch (z. B.
main
) lokal aus
Weitere Branches müssen manuell ausgecheckt werden:
git checkout --track origin/<branch-name>
Optional zur Sicherheit vorher:
git fetch
git branch -r
❓ 4. Wie klone ich gezielt nur einen bestimmten Branch?
Nur den gewünschten Branch klonen (kein anderer wird geholt):
git clone --branch <branch-name> --single-branch <repo-url>
Mit reduziertem Verlauf (nur letzte Commits):
git clone --branch <branch-name> --single-branch --depth 1 <repo-url>
❓ 5. Wann ist --single-branch
sinnvoll?
Diese Variante ist ideal, wenn:
- du nur an einem Branch arbeiten willst
- du Platz oder Zeit sparen möchtest
- du das Repo später einfach löschen willst
- du z. B. in CI/CD, Docker, VMs oder temporär lokal arbeitest
Sie vermeidet unnötige Daten und beschleunigt den Clone-Prozess.
❓ 6. Wie sehe ich alle Remote-Branches vor dem Clonen?
Du kannst dir alle Branches am Remote-Repo anzeigen lassen, ohne zu klonen:
git ls-remote --heads <repo-url>
Beispiel:
git ls-remote --heads ssh://git@local.ionivation.com:2222/codewalker/codewalker.net.git
Ergebnis:
f3a91d... refs/heads/main
c4bd79... refs/heads/feature/chat-system
🛠️ Optionaler Alias-Tipp
Wenn du häufig neue Branches holen willst:
git config --global alias.fr 'fetch && branch -r'
Verwendung:
git fr
= git fetch
+ Anzeige aller Remote-Branches
🧠 Zusammenfassung
Ziel | Befehl |
---|---|
Remote-Branch holen + auschecken | git fetch + git checkout --track origin/<name> |
Nur einen Branch klonen | git clone --branch <name> --single-branch <url> |
Branchliste ohne Clone anzeigen | git ls-remote --heads <repo-url> |
Lokale Sichtbarkeit Remote-Branches | git fetch + git branch -r |