105

I made a mistake and called git add -all, now all files are added. I did not make a commit and push. How can I undo my action?

2
  • 4
    did you try git reset HEAD ? Commented Jan 18, 2015 at 15:02
  • this is not a duplicate since clearly it is stated this is undo git add -all. There are many resources for undoing git add but for -all there are very few. Commented Jul 5, 2023 at 11:40

2 Answers 2

122

It has already been answered several times:

You can use git reset. This will 'unstage' all the files you've added after your last commit.

If you want to unstage only some files, use git reset -- <file 1> <file 2> <file n>.

Also it's possible to unstage some of the changes in files by using git reset -p.

See

Sign up to request clarification or add additional context in comments.

5 Comments

If it was already answered several times, the correct course of action would be to vote to mark as duplicate, and not answer the question.
@SecondRikudo That's what I did, look at my comment at the top. The reason I posted is to provide more than one answer link.
Emphasizing the and not answer the question part. The idea is that if someone searches Google for this problem, they'd find the canonical with the best answer, and not one of the many duplicates asked. By answering these questions you're giving them more visibility.
I did this reset and it said it unstaged them but they're still in the index because if I a git status it shows them marked as modified still. How do I COMPLETELY get rid of changes bot added and committed locally?
I searched and couldn't find the many answers
14

To reset specific files you can use: git reset -- <file_a> <file_b> or to reset all your changes you can use git reset.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.