Tutorials  /  Linux Basics

Git Reset Anleitung: Commits rückgängig machen & Änderungen verwerfen

Ccentron Redaktion · September 2025 ·5 Min. Lesezeit ·Linux Basics, Tutorial

Der Befehl git reset erlaubt es, Commits rückgängig zu machen, Dateien aus dem Staging-Bereich zu entfernen oder Änderungen im Arbeitsverzeichnis zu verwerfen. Er funktioniert, indem er die drei zentralen Zustände in Git verändert: HEAD, Index und Working Directory. Obwohl sehr mächtig, kann er riskant sein – insbesondere mit der Option --hard. Im Folgenden erfährst du, wie die einzelnen Varianten arbeiten und wann du sie einsetzen solltest.

Überblick: Git Reset Optionen

Git bietet drei Hauptvarianten für den Reset-Befehl. Jede wirkt sich unterschiedlich auf HEAD, Staging-Bereich (Index) und Arbeitsverzeichnis aus. Die Tabelle fasst dies zusammen:

Flag HEAD Staging-Bereich Arbeitsverzeichnis Zusammenfassung
--soft Ja Nein Nein Änderungen bleiben im Staging
--mixed Ja Ja Nein Nimmt aus dem Staging, behält Dateiedits
--hard Ja Ja Ja Entfernt alle Änderungen
VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

git reset --soft

Befehlssyntax und Erklärung

git reset --soft <commit>

  • git reset: Basisbefehl, der den Verlauf ändert.
  • --soft: Verschiebt HEAD, belässt Staging-Bereich und Arbeitsverzeichnis unverändert.
  • : Ziel-Commit (z. B. HEAD~1 oder ein Hash).

Wirkung des Flags

  • Bewegt HEAD auf das gewählte Commit.
  • Änderungen bleiben im Staging.
  • Arbeitsverzeichnis bleibt unberührt.

Anwendungsbeispiel

Konsole
$ git log --oneline

Ausgabe:

abc1234 Zweiter Commit

def5678 Initial Commit

Konsole
$ git reset --soft HEAD~1

Entfernt abc1234 aus der Historie, behält die Änderungen im Staging. Status prüfen:

Konsole
$ git status

Ausgabe:

Auf Branch main

Änderungen zum Commit vorgemerkt:

modified: file.txt

Konsole
$ git commit -m "Angepasster Commit"

Erstellt einen neuen Commit mit denselben Änderungen, aber anderem Commit-Text.

git reset --mixed (Standard)

Befehlssyntax

git reset --mixed <commit>

  • --mixed: Setzt HEAD und Staging zurück, Arbeitsverzeichnis bleibt unverändert.

Anwendungsbeispiel

Konsole
$ git log --oneline

Ausgabe:

abc1234 Zweiter Commit

def5678 Initial Commit

Konsole
$ git reset --mixed HEAD~1

Entfernt den letzten Commit, nimmt Änderungen aus dem Staging, behält sie aber im Arbeitsverzeichnis.

Konsole
$ git status

Ausgabe:

Auf Branch main

Nicht zum Commit vorgemerkte Änderungen:

modified: file.txt

Konsole
$ git add file.txt
Konsole
$ git commit -m "Überarbeiteter Commit"

Damit kannst du die Änderungen neu einspielen und in separaten Commits strukturieren.

git reset --hard

Befehlssyntax

git reset --hard <commit>

  • Setzt HEAD, Staging und Arbeitsverzeichnis auf den Ziel-Commit zurück.
  • Vorsicht: Änderungen werden dauerhaft gelöscht, sofern sie nicht mit git reflog wiederhergestellt werden.

Wirkung des Flags

  • Bewegt HEAD auf den angegebenen Commit.
  • Leert den Staging-Bereich.
  • Setzt Dateien im Arbeitsverzeichnis auf den Zustand des Commits.

Anwendungsbeispiel

Konsole
$ git log --oneline

Ausgabe:

abc1234 Fehlerhafter Commit

def5678 Stabiler Stand

Konsole
$ git reset --hard HEAD~1

Verwirft den fehlerhaften Commit und stellt Dateien auf den stabilen Stand zurück. Prüfen mit:

Konsole
$ git status

Ausgabe:

Auf Branch main

nichts zu committen, Arbeitsverzeichnis sauber

Änderungen in Git zurücksetzen

Mit git reset kannst du dein Projekt auf einen bestimmten Commit zurücksetzen. Syntax:

git reset [--soft|--mixed|--hard] <commit>

  • --soft: Behält Änderungen im Staging.
  • --mixed: Entfernt Änderungen aus dem Staging, Arbeitsverzeichnis bleibt erhalten.
  • --hard: Entfernt alle Änderungen.

Auf einen bestimmten Commit zurücksetzen

Konsole
$ git log --oneline

Ausgabe:

a1b2c3d Tippfehler behoben

9f8e7d6 Login-Feature hinzugefügt

8e7f6a5 Initial Commit

Beispiele:

  • Soft Reset: git reset --soft a1b2c3d
  • Mixed Reset: git reset --mixed a1b2c3d
  • Hard Reset: git reset --hard a1b2c3d

Verwende git reflog, wenn du dich von einem versehentlichen Reset erholen musst.

Reset rückgängig machen in Git

Befehlssyntax

git reflog zeigt Bewegungen von HEAD inklusive Resets.

Konsole
$ git reset --hard HEAD@{n}

HEAD@{n} bedeutet, wie viele Schritte zurück (z. B. HEAD@{1} = ein Schritt zurück).

Anwendungsbeispiel

Konsole
$ git reset --hard HEAD~1
Konsole
$ git reflog

Ausgabe:

abc1234 HEAD@{0}: reset: moving to HEAD~1

def5678 HEAD@{1}: commit: Login-Feature hinzugefügt

Konsole
$ git reset --hard HEAD@{1}

Damit stellst du den vorherigen Zustand wieder her. git reflog funktioniert mit allen Reset-Arten, ist aber besonders wichtig bei --hard, da dort Änderungen in Arbeitsverzeichnis und Index entfernt werden.

Fazit

Mit git reset kannst du Commits zurücknehmen, Änderungen aus dem Staging entfernen oder sämtliche Anpassungen verwerfen. Wähle die Variante passend zum Anwendungsfall:

  • --soft: Commits zurücknehmen, Änderungen bleiben im Staging.
  • --mixed: Änderungen aus dem Staging nehmen, Arbeitsverzeichnis bleibt erhalten.
  • --hard: Alles vollständig verwerfen und zurücksetzen – nur nutzen, wenn du sicher bist.
Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren