How do I remove a single file from the staging area (undo git add)?
git, staging, version-control
Solution
If I understand the question correctly, you simply want to "undo" the `git add` that was done for that file.
If you need to remove a single file from the staging area, use
`git reset HEAD -- <file>`
If you need to remove a whole directory (folder) from the staging area, use
`git reset HEAD -- <directoryName>`
Your modifications will be kept. When you run `git status` the file will once again show up as modified but not yet staged.
See the `git reset` man page for details.
Problem
Situation: I have a Git repository with files already in the index. I make changes to several files, open Git and add these files to my staging area with "git add ." Question: How do I remove one of those files from the staging area but not remove it from the index or undo the changes to the file itself?