How to remove local (untracked) files from the current Git working tree

前端 未结 30 2140
死守一世寂寞
死守一世寂寞 2020-11-22 00:07

How do you delete untracked local files from your current working tree?

30条回答
  •  天涯浪人
    2020-11-22 00:45

    git clean -f -d -x $(git rev-parse --show-cdup) applies clean to the root directory, no matter where you call it within a repository directory tree. I use it all the time as it does not force you to leave the folder where you working now and allows to clean & commit right from the place where you are.

    Be sure that flags -f, -d, -x match your needs:

    -d
           Remove untracked directories in addition to untracked files. If an
           untracked directory is managed by a different Git repository, it is
           not removed by default. Use -f option twice if you really want to
           remove such a directory.
    
    -f, --force
           If the Git configuration variable clean.requireForce is not set to
           false, git clean will refuse to delete files or directories unless
           given -f, -n or -i. Git will refuse to delete directories with .git
           sub directory or file unless a second -f is given. This affects
           also git submodules where the storage area of the removed submodule
           under .git/modules/ is not removed until -f is given twice.
    
    -x
           Don't use the standard ignore rules read from .gitignore (per
           directory) and $GIT_DIR/info/exclude, but do still use the ignore
           rules given with -e options. This allows removing all untracked
           files, including build products. This can be used (possibly in
           conjunction with git reset) to create a pristine working directory
           to test a clean build.
    

    There are other flags as well available, just check git clean --help.

提交回复
热议问题