commit d599bb1aa83ccc01ed3f27e3be72fdc2e226d082 Author: hans Date: Mon May 18 08:24:39 2026 +0200 GIT hinzugefügt diff --git a/GIT b/GIT new file mode 100644 index 0000000..9f860f9 --- /dev/null +++ b/GIT @@ -0,0 +1,179 @@ +# Git Cheat Sheet + +## Inhaltsverzeichnis + +- [Konfiguration](#konfiguration) +- [Repository anlegen](#repository-anlegen) +- [Status & History](#status--history) +- [Staging & Commits](#staging--commits) +- [Branches](#branches) +- [Mergen & Rebase](#mergen--rebase) +- [Remotes](#remotes) +- [Push & Pull](#push--pull) +- [Dateien löschen / umbenennen](#dateien-löschen--umbenennen) +- [Undo & Restore](#undo--restore) +- [Tags](#tags) +- [Nützliche Kurzbefehle](#nützliche-kurzbefehle) + +## Konfiguration + +- Globalen User setzen + `git config --global user.name "Dein Name"` + `git config --global user.email "du@example.com"` + +- Aktuelle Config anzeigen + `git config --list` + +## Repository anlegen + +- Neues Repo im aktuellen Ordner + `git init` + +- Vorhandenes Repo klonen + `git clone ` + +## Status & History + +- Status der Arbeitskopie + `git status` + +- Änderungen vergleichen + `git diff` Arbeitskopie vs. Index + `git diff --staged` Index vs. letztem Commit + +- Commit-Historie + `git log` + `git log --oneline --graph --all` + +## Staging & Commits + +- Datei zum Index hinzufügen + `git add ` + +- Alle Änderungen hinzufügen + `git add .` + +- Datei aus dem Index entfernen, aber nicht löschen + `git reset ` + +- Commit erstellen + `git commit -m "Commit-Nachricht"` + +- Letzten Commit überschreiben, nur lokal verwenden + `git commit --amend` + +## Branches + +- Alle Branches anzeigen + `git branch` + +- Neuen Branch erstellen + `git branch ` + +- In Branch wechseln + `git switch ` + oder klassisch + `git checkout ` + +- Branch erstellen und direkt wechseln + `git switch -c ` + +- Branch löschen lokal + `git branch -d ` + `git branch -D ` + +## Mergen & Rebase + +- Branch in aktuellen Branch mergen + `git merge ` + +- Interaktives Rebase zum Aufräumen von Commits + `git rebase -i HEAD~` + +- Rebase abbrechen + `git rebase --abort` + +- Merge-Konflikte prüfen + `git status` + `git diff` + +## Remotes + +- Remotes anzeigen + `git remote -v` + +- Remote hinzufügen + `git remote add origin ` + +- Remote-URL ändern + `git remote set-url origin ` + +- Remote entfernen + `git remote remove ` + +## Push & Pull + +- In Remote-Branch pushen + `git push origin ` + +- Upstream setzen und direkt pushen + `git push -u origin ` + +- Änderungen vom Remote holen und mergen + `git pull` + +- Nur Daten holen, nicht mergen + `git fetch` + +## Dateien löschen / umbenennen + +- Datei löschen und Commit vorbereiten + `git rm ` + +- Datei umbenennen oder verschieben + `git mv ` + +## Undo & Restore + +- Datei auf HEAD zurücksetzen, nur Arbeitskopie + `git restore ` + +- Datei aus Index entfernen, aber in Arbeitskopie behalten + `git restore --staged ` + +- Alles auf HEAD zurücksetzen, nicht committed + `git restore .` + +- Einzelne Datei aus älterem Commit holen + `git checkout -- ` + +- Branch hart auf Commit zurücksetzen, destruktiv + `git reset --hard ` + +## Tags + +- Tag erstellen lightweight + `git tag ` + +- Annotierten Tag erstellen + `git tag -a -m "Beschreibung"` + +- Tags anzeigen + `git tag` + +- Tag pushen + `git push origin ` + +## Nützliche Kurzbefehle + +- Letzten Commit anzeigen + `git show` + +- Ignorierte Dateien mit anzeigen + `git status --ignored` + +- Stash verwenden + `git stash` + `git stash list` + `git stash apply` + `git stash drop` \ No newline at end of file