How do I clear my local working directory in Git?

git

Solution

To reset a specific file to the last-committed state (to discard uncommitted changes in a specific file):

git checkout thefiletoreset.txt

This is mentioned in the `git status` output:

(use "git checkout -- <file>..." to discard changes in working directory)

To reset the entire repository to the last committed state:

git reset --hard

To remove untracked files, I usually just delete all files in the working copy (but not the `.git/` folder!), then do `git reset --hard` which leaves it with only committed files.

A better way is to use `git clean` (warning: using the `-x` flag as below will cause Git to delete ignored files):

git clean -d -x -f

will remove untracked files, including directories (`-d`) and files ignored by git (`-x`). Replace the `-f` argument with `-n` to perform a dry-run or `-i` for interactive mode, and it will tell you what will be removed.

Relevant links:

- git-reset man page

- git-clean man page

- git ready "cleaning up untracked files" (as Marko posted)

- Stack Overflow question "How to remove local (untracked) files from the current Git working tree")

Problem

How can I clear my working directory in Git?

Original source

Related problems