How To Discard Local Changes Git

How To Articles

Hey there! If you’ve ever found yourself in a bit of a pickle with Git, you’re not alone. In fact, I’ve been there too, and I can tell you, it’s no fun having a cluttered workspace. So, let’s talk about how to properly discard those local changes in Git.

Checking the Status of Your Changes

Before we start discarding anything, it’s good practice to take a look at the current status of our changes. This is as simple as running the following command in your terminal:

git status

This will give you a clear overview of which files have been modified, added, or deleted in the local repository. It’s always helpful to know exactly what you’re dealing with.

Discarding Unstaged Changes

So, let’s say I’ve made changes to a file but haven’t staged them yet. I can simply revert the changes back to the state they were in at the last commit by using the following command:

git checkout -- [file_name]

By replacing [file_name] with the actual name of the file, I can discard the local changes and revert the file to its previous state. This is a quick and easy way to clean up any unwanted modifications.

Discarding Staged Changes

Now, what if I’ve already staged the changes but haven’t committed them yet? No worries! I can unstage the changes using the following command:

git reset HEAD [file_name]

This will unstage the changes, but the modifications to the actual file will still be there. To discard those changes as well, I can go ahead and use the git checkout -- [file_name] command as mentioned earlier.


And there you have it! Discarding local changes in Git is not as daunting as it may seem at first. With the right commands and a bit of practice, it becomes second nature to keep your workspace tidy and organized. Happy coding!