Languages
[Edit]
EN

Git reset hard with untracked files removal

5 points
Created by:
Root-ssh
99200

1. Git reset hard and remove all untracked files and directories

# reset current branch and remove untracked directories and files
git reset --hard HEAD && git clean -fd
  • This cmd will reset our branch and remove all untracked files and directories (non-ignored by .gitignore).
  • All uncommited changes will be removed and we have clean state on the branch.
  • Very powerful command, before using it think twice.

If we want to remove all files and directories (even ignored by .gitignore - it will also remove all IDE configurations if stored under project), below command can do the trick:

# reset current branch + remove ignored and non-ignored files
# it will remove all ignored files like .idea configs etc
git reset --hard HEAD && git clean -fdx

# reset current branch + remove ignored directories and files
git reset --hard HEAD && git clean -fdX

# reset current branch + remove directories
git reset --hard HEAD && git clean -fd

 

Practical example on some temporary files:

2. Explanation of git reset --hard HEAD

$ git reset --hard HEAD

Git will leave untracked files.

3. Explanation of git clean -fd

git clean most useful flags:

-n, --dry-run         dry run
-f, --force           force
-d                    remove whole directories


git clean -help entire output:

$ git clean -help
usage: git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>...

    -q, --quiet           do not print names of files removed
    -n, --dry-run         dry run
    -f, --force           force
    -i, --interactive     interactive cleaning
    -d                    remove whole directories
    -e, --exclude <pattern>
                          add <pattern> to ignore rules
    -x                    remove ignored files, too
    -X                    remove only ignored files

4. Explanation of git clean --dry-run

$ git clean --dry-run

This command will list what will be deleted.
It is useful to run it before running git clean -fd.

5. References

  1. git reset - Docs
  2. git clean - Docs

Git

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join