↑ ↓ auswählen, Enter öffnen, Esc schließen

Git

Git-Befehle für den Alltag und für Notfälle: Verlauf durchsuchen, Änderungen rückgängig machen, Branches aufräumen und versehentlich Gelöschtes zurückholen.

16 Einzeiler: 7 harmlos, 7 vorsicht, 2 destruktiv

Annotierten Tag erstellen und zum Remote pushen

$git tag -a v1.4.0 -m 'Release 1.4.0' && git push origin v1.4.0
vorsicht

Arbeitskopie hart auf den Stand des Remote-Branches zurücksetzen

$git fetch origin && git reset --hard origin/main
destruktiv

Bereits gemergte lokale Branches löschen

$git branch --merged main | grep -vE '^[*+]|^\s*(main|main|master|develop)$' | xargs -r git branch -d
vorsicht

Commits finden, die einen bestimmten Text hinzugefügt oder entfernt haben

$git log -S 'define('WP_DEBUG'' --oneline --all
harmlos

Datei aus der Versionierung nehmen, aber lokal behalten

$git rm --cached wp-config.php
vorsicht

Git-Fehler dubious ownership auf Servern beheben

$git config --global --add safe.directory /var/www/vhosts/example.com/httpdocs
vorsicht

Git-Verlauf kompakt als Graph anzeigen

$git log --oneline --graph --decorate --all -n 30
harmlos

Größte Dateien im gesamten Git-Verlauf finden

$git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | awk '$1=="blob"' | sort -k3 -rn | head -n 20
harmlos

Herausfinden, wer bestimmte Zeilen einer Datei geändert hat

$git blame -L 10,40 wp-config.php
harmlos

Lokale Änderungen an einer Datei verwerfen

$git restore wp-config.php
destruktiv

Lokale Änderungen mit git stash zwischenspeichern

$git stash push -u -m 'Hotfix-Test auf dem Server'
vorsicht

Nachricht des letzten Commits ändern

$git commit --amend -m 'Fix: Cache-Pfad in der Konfiguration korrigiert'
vorsicht

Text in allen Versionen eines Repositorys suchen

$git rev-list --all | xargs git grep -F 'DB_PASSWORD'
harmlos

Unterschiede zwischen zwei Branches anzeigen

$git diff --stat main...feature/kontaktformular
harmlos

Verlorene Commits über das Reflog wiederfinden

$git reflog --date=iso -n 30
harmlos

Versehentlich gelöschten Branch wiederherstellen

$git branch feature/kontaktformular a1b2c3d
vorsicht

Erst lesen, dann ausführen.

Die Befehle auf myline.de greifen direkt in Server, Dateien und Datenbanken ein. Ein falscher Pfad oder Platzhalter kann Daten unwiderruflich löschen oder einen Server unerreichbar machen.

  • Alle Befehle werden ohne Gewähr bereitgestellt und sind nicht auf jedem System getestet.
  • Vor dem Ausführen verstehen, was ein Befehl tut, und jeden Platzhalter prüfen.
  • Vorher ein Backup anlegen und möglichst zuerst auf einem Testsystem ausprobieren.
  • Die Ausführung erfolgt auf eigene Verantwortung. Eine Haftung für Schäden ist ausgeschlossen, soweit gesetzlich zulässig.