Appearance
Anhang: Git-Befehlsübersicht
📚 1. Git-Kernbefehle (nach Szenarien geordnet)
🔹 1.1 Repository erstellen / klonen
| Befehl | Erklärung | Beispiel |
|---|---|---|
git init | Neues lokales Repository initialisieren | git init |
git clone <url> | Bestehendes Repository klonen | git clone https://github.com/user/projekt.git |
git clone -b <branch> <url> | Bestimmten Branch klonen | git clone -b develop https://... |
🔹 1.2 Änderungen speichern (Staging & Commit)
| Befehl | Erklärung | Beispiel |
|---|---|---|
git status | Aktuellen Status anzeigen | git status |
git add <datei> | Datei zur Staging Area hinzufügen | git add index.html |
git add . | Alle Dateien zur Staging Area hinzufügen | git add . |
git add -A | Alle Dateien (auch gelöschte) hinzufügen | git add -A |
git commit -m "Nachricht" | Änderungen committen | git commit -m "Feature hinzugefügt" |
git commit -am "Nachricht" | Änderungen direkt committen (nur getrackte Dateien) | git commit -am "Bugfix" |
git restore <datei> | Änderungen im Working Directory verwerfen | git restore index.html |
git restore --staged <datei> | Datei aus Staging Area entfernen | git restore --staged index.html |
🔹 1.3 Historie anzeigen
| Befehl | Erklärung | Beispiel |
|---|---|---|
git log | Vollständige Historie anzeigen | git log |
git log --oneline | Kurze Historie (eine Zeile pro Commit) | git log --oneline |
git log --graph --oneline --all | Historie mit Grafik anzeigen | git log --graph --oneline --all |
git log --author="Name" | Nach Autor filtern | git log --author="Max" |
git log --since="2024-01-01" | Nach Datum filtern | git log --since="2024-01-01" |
git show <commit> | Details eines Commits anzeigen | git show a1b2c3d |
🔹 1.4 Branching & Merging
| Befehl | Erklärung | Beispiel |
|---|---|---|
git branch | Alle Branches anzeigen | git branch |
git branch <name> | Neuen Branch erstellen | git branch feature-login |
git checkout <branch> | Branch wechseln | git checkout develop |
git checkout -b <branch> | Neuen Branch erstellen & wechseln | git checkout -b feature-login |
git switch <branch> | Branch wechseln (modern) | git switch develop |
git switch -c <branch> | Neuen Branch erstellen & wechseln (modern) | git switch -c feature-login |
git merge <branch> | Branch in aktuellen Branch mergen | git merge feature-login |
git branch -d <branch> | Branch löschen (sicher) | git branch -d feature-login |
git branch -D <branch> | Branch löschen (erzwungen) | git branch -D feature-alt |
🔹 1.5 Remote-Repositories
| Befehl | Erklärung | Beispiel |
|---|---|---|
git remote -v | Alle Remotes anzeigen | git remote -v |
git remote add <name> <url> | Remote hinzufügen | git remote add origin https://... |
git remote set-url <name> <url> | Remote-URL ändern | git remote set-url origin https://... |
git push <remote> <branch> | Änderungen pushen | git push origin main |
git pull <remote> <branch> | Änderungen pullen (fetch + merge) | git pull origin main |
git fetch <remote> | Änderungen herunterladen (ohne zu mergen) | git fetch origin |
git push -u origin <branch> | Branch pushen & Upstream setzen | git push -u origin feature-login |
🔹 1.6 Änderungen rückgängig machen
| Befehl | Erklärung | Beispiel |
|---|---|---|
git reset --soft HEAD~1 | Letzten Commit rückgängig machen (Änderungen bleiben in Staging) | git reset --soft HEAD~1 |
git reset --mixed HEAD~1 | Letzten Commit rückgängig machen (Änderungen bleiben in Working Dir) | git reset HEAD~1 |
git reset --hard HEAD~1 | Letzten Commit rückgängig machen (⚠️ Alle Änderungen weg!) | git reset --hard HEAD~1 |
git revert <commit> | Commit sicher rückgängig machen (erstellt neuen Commit) | git revert a1b2c3d |
git commit --amend | Letzten Commit ändern (Nur lokal, noch nicht gepusht!) | git commit --amend -m "Neue Nachricht" |
🔹 1.7 Temporäre Speicherung (Stash)
| Befehl | Erklärung | Beispiel |
|---|---|---|
git stash | Änderungen temporär speichern | git stash |
git stash list | Alle Stashes anzeigen | git stash list |
git stash pop | Neuesten Stash wiederherstellen & löschen | git stash pop |
git stash apply | Neuesten Stash wiederherstellen (ohne löschen) | git stash apply |
git stash drop | Neuesten Stash löschen | git stash drop |
🧰 2. Git-GUI-Tools (Grafiktools)
🔹 2.1 Git GUI (In Git enthalten)
Vorteile:
- ✅ Kostenlos (in Git enthalten)
- ✅ Einfach zu bedienen
- ✅ Grundlegende Funktionen abgedeckt
Nachteile:
- ❌ Nicht sehr leistungsfähig
- ❌ Benutzeroberfläche etwas veraltet
Starten:
bash
git gui🔹 2.2 SourceTree (Kostenlos, empfohlen für Einsteiger)
Herunterladen: https://www.sourcetreeapp.com/
Vorteile:
- ✅ Kostenlos
- ✅ Saubere, intuitive Benutzeroberfläche
- ✅ Unterstützt GitHub, GitLab, Bitbucket
- ✅ Visualisiert Branches und Commits
Nachteile:
- ❌ Erfordert Atlassian-Account (kostenlos)
- ❌ Etwas ressourcenintensiv
🔹 2.3 VS Code integriertes Git-Tool (Entwicklung + Versionskontrolle)
Herunterladen: https://code.visualstudio.com/
Vorteile:
- ✅ Integriert in den Code-Editor
- ✅ Kein Kontextwechsel nötig
- ✅ Erweiterbare Git-Funktionen (Extensions)
Wichtige VS Code Git-Erweiterungen:
- GitLens (❤️ Empfohlen): Zeigt Git-Blame, History, etc. direkt im Editor
- Git Graph: Visualisiert Branches und Commits
- Git History: Zeigt detaillierte Commit-Historie
🆘 3. Häufige Fehler & Lösungen (Schnellübersicht)
| Fehler | Ursache | Lösung |
|---|---|---|
fatal: not a git repository | Nicht in einem Git-Repository | git init ausführen oder in das richtige Verzeichnis wechseln |
error: failed to push some refs | Remote hat Commits, die lokal nicht vorhanden sind | git pull origin main ausführen, dann erneut pushen |
CONFLICT (content): Merge conflict in ... | Zwei Branches haben dieselbe Zeile geändert | Konfliktdatei bearbeiten, Markierungen entfernen, git add, dann git commit |
fatal: ambiguous argument | Ungültige Commit-Referenz | git log --oneline ausführen und korrekten Hash verwenden |
Permission denied beim Pushen | Keine Berechtigung für das Remote-Repository | SSH-Key oder Token überprüfen, Schreibzugriff sicherstellen |
| Datei versehentlich gelöscht | – | git checkout HEAD -- <datei> ausführen (wenn committet) |
⌨️ 4. Git-Kommandozeilen-Shortcuts (Effizienzsteigerung)
🔹 4.1 Allgemeine Shortcuts
| Shortcut | Funktion |
|---|---|
Tab | Autovervollständigung (Dateinamen, Befehle) |
↑ / ↓ | Vorherige Befehle durchsuchen |
Ctrl + C | Aktuellen Befehl abbrechen |
Ctrl + L | Terminal bereinigen (Clear) |
Ctrl + A | Zum Zeilenanfang springen |
Ctrl + E | Zum Zeilenende springen |
🔹 4.2 Git-Aliase (Empfohlene Konfiguration)
bash
# Aliase global konfigurieren
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.lg "log --graph --oneline --decorate --all"
# Verwendung:
git st # statt git status
git co # statt git checkout
git br # statt git branch
git ci # statt git commit
git lg # Schöne Log-Anzeige📝 Zusammenfassung
In diesem Anhang haben Sie gelernt:
- ✅ Git-Kernbefehle (nach Szenarien geordnet)
- ✅ Git-GUI-Tools (SourceTree, VS Code Git)
- ✅ Häufige Fehler & Lösungen (Schnellübersicht)
- ✅ Git-Kommandozeilen-Shortcuts (Effizienzsteigerung)
- ✅ Git-Aliase (Konfiguration für schnellere Arbeitsabläufe)
🔗 Weiterführende Links
Copyright © 2024 Git-Tutorial für Anfänger
