How can you undo the last git add?
git
Solution
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`.
Problem
Is it possible to unstage the last staged (not committed) change in git? Suppose there were a lot of files in the current branch, some staged, some not. At some point, some foolish programmer accidentally executed: ``` git add -- . ``` ...instead of: ``` git checkout -- . ``` Can this programmer now unstage his last changes with some magical git command? Or should he have committed before experimenting in the first place?