How To Discard Local Changes Git

As a developer, I have often found myself in a situation where I need to discard local changes in Git. It’s important to know how to properly discard these changes without affecting the overall state of the repository. Let’s dive into the details of how to discard local changes in Git.

Checking the Status

Before discarding local changes, it’s crucial to check the status of the working directory. This can be done by using the following command:

git status

Running this command will display a list of modified files and allow you to assess which changes need to be discarded.

Discarding Changes in a Single File

If I want to discard changes in a specific file, I can use the following command:

git checkout -- file_name

This will revert the specified file to the state it was in at the last commit.

Discarding All Changes

At times, I might want to discard all local changes in the working directory. In that case, I can use the following command:

git reset --hard

This command will remove all local changes and revert the working directory to the state of the last commit. It’s important to exercise caution when using this command as it’s irreversible.


Discarding local changes in Git is an essential skill for any developer. By using the commands git status, git checkout -- file_name, and git reset --hard, I can effectively manage and discard local changes in my Git repository, ensuring that my code remains clean and consistent.