How to remove a file (git undo add) from staging that is ready for the next commit?


Upon completing a feature as a part of bigger software development, the next step is committing the changes and push to the remote repository. The changes may include modified as well as new files. To list all changed files, you can use the git status command.

Next is to add source files for the next commit using the git add command. You may select files individually to add or add all files using an all option with the command. Now time to use the commit command to commit all changes in the local repository copy.

Why does a developer need 'git undo add' command?

Just before using the commit command, a developer may notice that one or more files are unnecessarily added to the staging area. These may require additional code changes or be accidentally added. There could be a variety of reasons for this, but he should unstage or undo the undesirable files from the staging area before committing the next change.

How to remove the added files? Would you need to start again, or do I have something like undo git add? In this tutorial for git, you will learn how to undo an already executed git add command.

The reversing is called git undo add or git unadd. For that, there is a git reset command.   The git reset can be used to undo a specific added file or to undo all staged files.

Git Reset command example for undo an issued git add command?

By using the reset command, you can remove files from the staging area for the next commit. If a file name is specified with the command, it removes only that file, otherwise, it removes all staged files. Below are examples of both scenarios.

Unstage a single file.

#git reset <filename>   (to undo a single file)

Unstage all added files.

#git reset ( for all files)