Sechs Markdown-Sheets (git, Conventional Commits, Claude CLI, Claude-Config, dotnet CLI, PowerShell) als EmbeddedResource, gerendert im modelosen, per Topmost anpinnbaren CheatSheetsWindow. MarkdownView bekommt dafuer das Opt-in CommandRows: `befehl` - beschreibung wird zu Mono-Chip + Copy-Button, jede ##-Sektion landet in einem Expander. Enthaelt ausserdem: Mission Control wird beim Oeffnen aus dem Minimiert-Zustand geholt, nicht nur aktiviert.
3.5 KiB
3.5 KiB
Git
Start
git clone <url>— Repository klonengit init— neues Repository anlegengit remote add origin <url>— Remote verbinden
Stand ansehen
git status -sb— Kurzstatus mit Branch-Zeilegit diff— nicht gestagete Änderungengit diff --staged— gestagete Änderungengit diff main...HEAD— alles, was dieser Branch gegenüber main bringtgit diff --stat— nur Datei- und Zeilenzählergit log --oneline --graph --decorate -20— kompakter Verlaufgit log -p -- <pfad>— Verlauf einer Datei mit Diffsgit show <commit>— ein Commit im Detail
Branch
git switch <branch>— Branch wechselngit switch -c <name>— Branch anlegen und wechselngit switch -— zurück zum vorherigen Branchgit branch -vv— Branches mit Upstream und letztem Commitgit branch -d <name>— gemergten Branch löschen (-Derzwingt)
Committen
git add <pfad>— Änderungen stagengit add -p— Änderungen hunk-weise stagengit commit -m "<text>"— gestagete Änderungen committengit commit -- <pfad>— nur diese Pfade committengit commit --amend --no-edit— letzten Commit um die Staging-Area erweiterngit commit --fixup <commit>— Fixup für späteres Autosquash
Remote
git fetch --all --prune— alles holen, gelöschte Remote-Branches aufräumengit pull --rebase— holen und eigene Commits obendrauf setzengit push -u origin <name>— pushen und Upstream setzengit push --force-with-lease— sicheres Force-Push, nie plain--force
Rebase und Merge
git rebase main— Branch auf aktuellen main setzengit rebase -i --autosquash main— interaktiv aufräumengit rebase --continue— nach gelöstem Konflikt weitergit rebase --abort— Rebase abbrechen, Ausgangszustand zurückgit merge --no-ff <branch>— Merge-Commit erzwingengit merge --abort— laufenden Merge abbrechengit cherry-pick <commit>— einzelnen Commit übernehmen
Konflikte
git diff --name-only --diff-filter=U— konfliktbehaftete Dateiengit checkout --ours <pfad>— eigene Seite übernehmengit checkout --theirs <pfad>— fremde Seite übernehmengit mergetool— konfiguriertes Merge-Tool starten
Rückgängig
git restore <pfad>— Datei auf HEAD zurücksetzen, Änderungen weggit restore --staged <pfad>— unstagen, Änderungen behaltengit reset --soft HEAD~1— letzten Commit auflösen, Änderungen gestaged behaltengit reset --hard <commit>— alles verwerfen, nicht rückholbargit revert <commit>— Commit durch Gegen-Commit aufhebengit reflog— Referenzverlauf, um verlorene Commits wiederzufinden
Stash
git stash push -m "<text>"— Änderungen wegpackengit stash push -u— inklusive unversionierter Dateiengit stash list— Stashes anzeigengit stash pop— letzten Stash zurückholen und entfernengit stash apply <stash>— anwenden, aber behalten
Worktrees
git worktree list— alle Worktreesgit worktree add <pfad> <branch>— Worktree für bestehenden Branchgit worktree add -b <name> <pfad>— Worktree mit neuem Branchgit worktree remove <pfad>— Worktree entfernengit worktree prune— verwaiste Einträge aufräumen
Suchen
git grep -n "<text>"— im Arbeitsbaum suchengit log -S"<text>"— Commits, die den Text einfügen oder entfernengit blame -L 40,60 <pfad>— Zeilenbereich zuordnengit bisect start— binäre Suche nach dem Fehler-Commit