How To Unstage Files On Git – phoenixNAP


As a project

management tool, Git allows users to queue a group of changes before committing to the project. This queue is called an index, and files can be deleted before they are committed.

This guide will show you how to delete/disorganize staging area files in git.


An existing installation of Git A

  • Git project A terminal/command line window Linux:Activities >
    • Find > Windows Terminal
    • :

    • right-click Start > command prompt (or Windows PowerShell)
  • Unleash settings for all files in

  • Git

To remove all staging index changes, type the following command:


git This will remove all changes from the staging area. It will not delete any files: The git add command can be used to re-add changes to the staging index.

The staging index is in . git/index. Fits in the middle of the Git commit process:

  • files are created or modified during project development
  • Users decide which changes to publish together to the index using the git add command

  • Users commit those changes with a name and description
  • The

  • git reset command

is used to clean up the index and add changes from scratch.


a single file or directory The git reset command can be directed to a single file or directory.

For example, use the following command:

git reset location/of/file.ext

git reset directory

/location Using the .gitignore file The .


is a file that can be added to any directory in a project. It’s a simple text file, and anything you add to it won’t be organized or included in a commit.

Use a text editor to create a . gitignore in a project directory. Next, edit the file and add the names of the assets that will be excluded from the commits.

For example, development log files typically do not need to be included in a commit. These could be added by name to the .gitignore file.

Disorganize committed files

The git reset command

can allow changes to files and directories that have already been committed. The basic command

to unprovisionalize a commit is as follows:

git reset [option] [confirm]

In [option] specify the type of reset being performed. In [commit] specify the name of the commit to reset.

Unstage Commmits Soft

Use the following command to perform a soft mismatch: git reset -soft [commit] A soft reset has the following effects:

  • Update reference pointers Staging
  • index is intact
  • Working

  • directory not touched

Unstage Commits Hard

Use the following

command to perform a hard unstage

: git reset -hard [commit]

A hard reset has the following effects


Updates reference pointers to the specified commit Staging index is reset to match the specified commit Working directory is

  • reset to match the specified commit
  • Any pending changes to the Working Directory and staging index are lost
  • Mixed

offset option If no option is specified, the git reset command performs a mixed offset : git reset –mixed [commit] or git reset [commit]

This has the following effects:

  • Updates reference pointers
  • Resets the staging index to the

  • specified commit
  • Changes that are rolled back from the staging index are moved to the working directory


You should now have a solid understanding of how to disorganize files in

Git. See our Git Command Cheat Sheet

for a complete list of fundamental Git commands. If you encounter a Git merge conflict, be sure to read our article How to resolve merge conflicts in Git.

Contact US