Git Spickzettel

Erste Schritte

Neues Repo starten

git init

Vorhandenes Repo klonen

git clone <url>

Vorbereitung für Commits

Nicht verfolgte Datei oder unstaged Änderungen hinzufügen

git add <datei>

Alle nicht verfolgten Dateien und unstaged Änderungen hinzufügen

git add .

Teile einer Datei zum Staging auswählen

git add -p

Datei verschieben

git mv <alt> <neu>

Datei löschen

git rm <datei>

Git dazu bringen, eine Datei zu ignorieren, ohne sie zu löschen

git rm --cached <datei>

Eine Datei aus dem Staging nehmen

git reset <datei>

Alles aus dem Staging nehmen

git reset

Überprüfen, was Sie hinzugefügt haben

git status

Commits erstellen

Commit erstellen (und Texteditor zum Schreiben der Nachricht öffnen)

git commit

Commit erstellen

git commit -m 'Nachricht'

Alle unstaged Änderungen committen

git commit -am 'Nachricht'

Staged/Unstaged Änderungen anzeigen

Alle staged und unstaged Änderungen anzeigen

git diff HEAD

Nur staged Änderungen anzeigen

git diff --staged

Nur unstaged Änderungen anzeigen

git diff

Commits anzeigen

Unterschied zwischen einem Commit und seinem Elternteil anzeigen

git show <commit>

Unterschied zwischen zwei Commits anzeigen

git diff <commit> <commit>

Unterschied einer Datei seit einem Commit anzeigen

git diff <commit> <datei>

Zusammenfassung eines Diff anzeigen

git diff <commit> --stat git show <commit> --stat

Änderungen verwerfen

Unstaged Änderungen einer Datei verwerfen

git restore <datei> ODER git checkout <datei>

Alle staged und unstaged Änderungen einer Datei verwerfen

git restore --staged --worktree <datei> ODER git checkout HEAD <datei>

Alle staged und unstaged Änderungen verwerfen

git reset --hard

Nicht verfolgte Dateien löschen

git clean

Alle staged und unstaged Änderungen 'stasen'

git stash

Code-Archäologie

Historie eines Branches anzeigen

git log main git log --graph main git log --oneline

Jeden Commit anzeigen, der eine Datei geändert hat

git log <datei>

Jeden Commit anzeigen, der eine Datei geändert hat, auch bevor sie umbenannt wurde

git log --follow <datei>

Jeden Commit finden, der Text hinzugefügt oder entfernt hat

git log -G banana

Anzeigen, wer zuletzt jede Zeile einer Datei geändert hat

git blame <datei>

Alte Dateien wiederherstellen

Die Version einer Datei aus einem anderen Commit abrufen

git checkout <commit> <datei> ODER git restore <datei> --source <commit>

Remote hinzufügen

git remote add <name> <url>

Änderungen ziehen

Änderungen abrufen (aber keine Ihrer lokalen Branches ändern)

git fetch origin main

Änderungen abrufen und dann Ihren aktuellen Branch rebasen

git pull --rebase

Änderungen abrufen und dann in Ihren aktuellen Branch mergen

git pull origin main ODER git pull

Git konfigurieren

Eine Konfigurationsoption einstellen

git config user.name 'Ihr Name'

Option global einstellen

git config --global ...

Alias hinzufügen

git config alias.st status

Alle möglichen Konfigurationsoptionen anzeigen

man git-config