Von Gast (nicht überprüft) , 29 April 2026

Die drei Baume

Git verfolgt drei "Baume": den HEAD-Commit, den Index und den Working Tree.

--soft: nur HEAD verschieben

git reset --soft HEAD~1
git commit -m "Better message"

--mixed: auch Index zurucksetzen (Standard)

git reset HEAD~1

--hard: alles zurucksetzen

git reset --hard HEAD~1

Eine Entscheidungstabelle

  • Letzte Commit-Nachricht erneut machen? --soft HEAD~1 dann erneut committen.
  • Alles un-stagen? --mixed.
  • Lokale Anderungen wegwerfen? --hard origin/main.

Eine einzelne Datei zurucksetzen

git reset HEAD path/to/file
git checkout -- path/to/file
git restore --staged path/to/file
git restore path/to/file

Reset versus Revert

reset schreibt die Historie um. revert erstellt einen neuen Commit.

Wiederherstellung nach schlechtem --hard

git reflog
git reset --hard HEAD@{1}