Undo Changes in Git
by Dharmesh Patel
Sometimes, you may find yourself in a situation where you've added and committed changes in Git, but you realise you need to undo those actions before pushing them to the remote repository. This guide walks you through the steps to unstage files and undo commits in Git.
Here's how you can undo these actions:
1. Undo git add (Unstage files)
If you’ve added files using git add but haven’t committed yet, you can unstage them:
To unstage all files:
git reset
To unstage specific files:
git reset <file>
2. Undo git commit (Uncommit changes)
If you’ve already committed the changes but haven’t pushed, you can undo the commit. The changes will remain in your working directory, so you can modify them or add more changes.
To undo the last commit but keep the changes in your working directory:
git reset --soft HEAD~1
If you want to undo the commit and also unstage the changes:
git reset HEAD~1
3. Undo commit and discard changes
If you want to undo the commit and discard the changes completely:
git reset --hard HEAD~
Note: This will delete the changes, so use it carefully.
Summary
- Use git reset HEAD~1 to undo the last commit but keep changes staged.
- Use git reset --soft HEAD~1 to undo the last commit and keep changes unstaged.
- Use git reset --hard HEAD~1 to completely remove changes from the last commit.
Consider checking your branch's status with git status after performing these operations to ensure you understand the current state of your files.
Need more development tips?
Stay tuned to our blog.