Skip to content

Anhang: Git-Befehlsübersicht

📚 1. Git-Kernbefehle (nach Szenarien geordnet)

🔹 1.1 Repository erstellen / klonen

BefehlErklärungBeispiel
git initNeues lokales Repository initialisierengit init
git clone <url>Bestehendes Repository klonengit clone https://github.com/user/projekt.git
git clone -b <branch> <url>Bestimmten Branch klonengit clone -b develop https://...

🔹 1.2 Änderungen speichern (Staging & Commit)

BefehlErklärungBeispiel
git statusAktuellen Status anzeigengit status
git add <datei>Datei zur Staging Area hinzufügengit add index.html
git add .Alle Dateien zur Staging Area hinzufügengit add .
git add -AAlle Dateien (auch gelöschte) hinzufügengit add -A
git commit -m "Nachricht"Änderungen committengit 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 verwerfengit restore index.html
git restore --staged <datei>Datei aus Staging Area entfernengit restore --staged index.html

🔹 1.3 Historie anzeigen

BefehlErklärungBeispiel
git logVollständige Historie anzeigengit log
git log --onelineKurze Historie (eine Zeile pro Commit)git log --oneline
git log --graph --oneline --allHistorie mit Grafik anzeigengit log --graph --oneline --all
git log --author="Name"Nach Autor filterngit log --author="Max"
git log --since="2024-01-01"Nach Datum filterngit log --since="2024-01-01"
git show <commit>Details eines Commits anzeigengit show a1b2c3d

🔹 1.4 Branching & Merging

BefehlErklärungBeispiel
git branchAlle Branches anzeigengit branch
git branch <name>Neuen Branch erstellengit branch feature-login
git checkout <branch>Branch wechselngit checkout develop
git checkout -b <branch>Neuen Branch erstellen & wechselngit 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 mergengit 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

BefehlErklärungBeispiel
git remote -vAlle Remotes anzeigengit remote -v
git remote add <name> <url>Remote hinzufügengit remote add origin https://...
git remote set-url <name> <url>Remote-URL änderngit remote set-url origin https://...
git push <remote> <branch>Änderungen pushengit 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 setzengit push -u origin feature-login

🔹 1.6 Änderungen rückgängig machen

BefehlErklärungBeispiel
git reset --soft HEAD~1Letzten Commit rückgängig machen (Änderungen bleiben in Staging)git reset --soft HEAD~1
git reset --mixed HEAD~1Letzten Commit rückgängig machen (Änderungen bleiben in Working Dir)git reset HEAD~1
git reset --hard HEAD~1Letzten 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 --amendLetzten Commit ändern (Nur lokal, noch nicht gepusht!)git commit --amend -m "Neue Nachricht"

🔹 1.7 Temporäre Speicherung (Stash)

BefehlErklärungBeispiel
git stashÄnderungen temporär speicherngit stash
git stash listAlle Stashes anzeigengit stash list
git stash popNeuesten Stash wiederherstellen & löschengit stash pop
git stash applyNeuesten Stash wiederherstellen (ohne löschen)git stash apply
git stash dropNeuesten Stash löschengit 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)

FehlerUrsacheLösung
fatal: not a git repositoryNicht in einem Git-Repositorygit init ausführen oder in das richtige Verzeichnis wechseln
error: failed to push some refsRemote hat Commits, die lokal nicht vorhanden sindgit pull origin main ausführen, dann erneut pushen
CONFLICT (content): Merge conflict in ...Zwei Branches haben dieselbe Zeile geändertKonfliktdatei bearbeiten, Markierungen entfernen, git add, dann git commit
fatal: ambiguous argumentUngültige Commit-Referenzgit log --oneline ausführen und korrekten Hash verwenden
Permission denied beim PushenKeine Berechtigung für das Remote-RepositorySSH-Key oder Token überprüfen, Schreibzugriff sicherstellen
Datei versehentlich gelöschtgit checkout HEAD -- <datei> ausführen (wenn committet)

⌨️ 4. Git-Kommandozeilen-Shortcuts (Effizienzsteigerung)

🔹 4.1 Allgemeine Shortcuts

ShortcutFunktion
TabAutovervollständigung (Dateinamen, Befehle)
/ Vorherige Befehle durchsuchen
Ctrl + CAktuellen Befehl abbrechen
Ctrl + LTerminal bereinigen (Clear)
Ctrl + AZum Zeilenanfang springen
Ctrl + EZum 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)


Copyright © 2024 Git-Tutorial für Anfänger

Frei für alle Anfänger