Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Reverting Staged Changes | Änderungen Rückgängig Machen
Git Essentials

Reverting Staged Changes

Swipe um das Menü anzuzeigen

Sometimes, changes are staged for commit, but upon further consideration, you realize that certain modifications should not be included. Luckily, it is possible to revert staged changes in Git, ensuring that your commits accurately reflect the intended modifications.

Undoing Staged Changes with git restore

The git restore command is a powerful tool for reverting staged changes. To undo modifications in files that have been staged but not yet committed, you can use the following command:

git restore --staged <file>

Where <file> is the name of the files or its path relative to the project directory. The --staged flag here "tells" Git to restore the changes in the staging area. After running this command the changes in the <file> will be unstaged.

Note
Note

This command doesn't revert the changes in the working tree. Instead, it only unstages them.

In case you want to unstage and then revert the changes in the working directory, you can use the following command:

git restore --staged --worktree <file>

Here is an image to make things clear:

Modifying and staging a file
Reverting staged changes

Example Workflow

Suppose you want to add another line with the next step of the recipe:

echo "7. Serve the eggs" >> recipe.txt

Unlike in the previous chapter, no mistake was made, so stage this change:

git add recipe.txt
Modifying the recipe.txt file

However, after reconsidering before committing, it appears that adding this line to the recipe file is unnecessary. Therefore, completely revert this change. First, check the status of the working tree and staging area:

git status
Checking status

This change is indeed staged, so run the git restore command with the appropriate flags to fully revert it:

git restore --staged --worktree recipe.txt

Finally, verify that both the working tree and staging area are clean:

git status
Reverting staged changes
question-icon

Match the actions with the respective commands.

Unstage changes:
Unstage and revert the changes in the working directory:

Revert the changes in the working directory:

Klicken oder ziehen Sie Elemente und füllen Sie die Lücken aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 3. Kapitel 2
some-alt