How to Unstage file in git


If you have added a file to the staging area in Git, but you want to remove it from the staging area, you can use the git reset command. This command will move the changes from the staging area back into the working directory, allowing you to unstage the file.

Here’s an example of how to use git reset to unstage a file:

  1. Make some changes to a file in your working directory:
$ echo "Hello, world" > file.txt
  1. Add the file to the staging area using the git add command:
$ git add file.txt
  1. Check the status of the staging area using the git status command:
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   file.txt
  1. To unstage the file, use the git reset command followed by the name of the file. For example:
$ git reset file.txt
  1. Check the status of the staging area again using the git status command:
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)

        modified:   file.txt

You can see that the changes have been moved from the staging area back into the working directory. The file is no longer staged for commit.

  1. If you want to completely discard the changes you made to the file and revert it to its state in the last commit, you can use the git restore command. For example:
$ git restore file.txt

This will discard the changes you made to the file and revert it to the state it was in the last commit.

Example:

Suppose you have made some changes to a file file.txt in your working directory and then added it to the staging area using the command git add file.txt. Later, you realize that you don’t want to commit these changes and want to remove the file from the staging area. You can use the following command to unstage the file:

$ git reset file.txt

This will remove the file from the staging area. You can then check the status of the staging area using the git status command. If you want to completely discard the changes you made to the file, you can use the git restore command as follows:

$ git restore file.txt

This will discard the changes you made to the file and revert it to the state it was in the last commit.