berechnungs-tools.de

...Webtools von mir, fuer euch...

Git Spickzettel

📚 Git Spickzettel

Kurzreferenz für die tägliche Arbeit mit Git-Repositories.

  • Fokus auf die wichtigsten Befehle für Setup, Commits, Branches, Remotes und Fehlerbehebung
  • Alle Befehle sind ohne Gewähr – vor destruktiven Aktionen immer Änderungen sichern
  • Gilt für Git unter Windows, macOS und Linux (Befehle identisch)

🚀 Schnelleinstieg

AktionBefehl
Benutzer konfigurieren (global) git config --global user.name "Max Mustermann"
git config --global user.email "max@example.com"
Neues Repo initialisieren git init
Vorhandenes Repo klonen git clone <URL> [zielordner]
Status anzeigen git status

📝 Staging & Commit

AktionBefehl
Alle Änderungen vormerkengit add -A
Einzelne Datei vormerkengit add pfad/datei.ext
Commit erstellengit commit -m "Nachricht"
Letzten Commit-Text änderngit commit --amend -m "Neue Nachricht"
Teilstücke committen (Interaktiv)git add -p

🌿 Branches

AktionBefehl
Branches auflistengit branch
Neuen Branch erstellengit branch feature/x
Wechselngit switch feature/x oder git checkout feature/x
Erstellen & wechselngit switch -c feature/x oder git checkout -b feature/x
Branch löschen (lokal)git branch -d feature/x

🔀 Merge & Rebase

AktionBefehl
Branch in aktuellen mergengit merge feature/x
Feature auf Basis von main neu aufsetzengit rebase main
Merge-Konflikte lösenKonflikte bearbeiten → git add betroffene Dateien → git merge --continue oder git rebase --continue
Rebase abbrechengit rebase --abort

🌐 Remotes

AktionBefehl
Remote anzeigengit remote -v
Remote hinzufügengit remote add origin <URL>
Änderungen holengit fetch
Pull (holen + mergen)git pull
Push (aktuellen Branch)git push
Upstream setzengit push -u origin <branch>
Tags pushengit push --tags

🧰 Änderungen rückgängig machen

AktionBefehl
Datei zurücksetzen (Arbeitsverzeichnis)git restore pfad/datei.ext
Staging entfernengit restore --staged pfad/datei.ext
Letzten Commit rückgängig (neuer Commit)git revert HEAD
Auf Commit hart zurücksetzen (ACHTUNG)git reset --hard <commit>
Verlorenes wiederfindengit reflog

📦 Stash (Zwischenspeicher)

AktionBefehl
Änderungen stashengit stash oder git stash push -m "msg"
Stashes anzeigengit stash list
Letzten Stash anwendengit stash apply
Letzten Stash anwenden und löschengit stash pop

🏷️ Tags & Releases

AktionBefehl
Leichtes Taggit tag v1.0.0
Annotiertes Taggit tag -a v1.0.0 -m "Release 1.0.0"
Tags pushengit push --tags

🧩 Submodule

AktionBefehl
Submodule hinzufügengit submodule add <URL> pfad/unterprojekt
Submodule initialisierengit submodule update --init --recursive
Alle Submodule aktualisierengit submodule update --remote --merge

🌲 Worktrees (parallele Arbeitsbäume)

AktionBefehl
Worktree erstellengit worktree add ../ordner feature/x
Worktrees anzeigengit worktree list
Worktree entfernengit worktree remove ../ordner

🙈 .gitignore (Dateien ignorieren)

# Ordner
node_modules/
.DS_Store
vendor/

# Logs/Builds
*.log
/dist
/build

# Umgebungsdateien
.env
.env.local

🔎 Logs & Diff

AktionBefehl
Historie kompaktgit log --oneline --graph --decorate --all
Änderungen seit letztem Commitgit diff
Geänderte, aber nicht gestagte Dateiengit diff --name-only
Staged vs. letzter Commitgit diff --cached

🔐 Konfiguration & SSH

AktionBefehl
Konfiguration anzeigengit config --list
SSH-Key erzeugenssh-keygen -t ed25519 -C "dein@beispiel"
SSH-Agent (Windows PowerShell)Start-Service ssh-agent; Get-Service ssh-agent; ssh-add "$Env:USERPROFILE\.ssh\id_ed25519"

🆘 Troubleshooting

# Falscher letzter Commit (Nachricht ändern / Dateien ergänzen)
# (nur lokal, noch nicht gepusht)
git commit --amend

# Lokalen Branch neu auf Remote ausrichten (ACHTUNG: verwirft lokale Änderungen)
git fetch origin
git reset --hard origin/main

# Datei versehentlich gelöscht? (suche im Reflog)
git reflog

# Merge/Rebase-Konflikt abbrechen
git merge --abort  # oder
git rebase --abort