git clean

2020年2月10日

9:22

本人要使用该指令的地方的主要是在不同分支的切换中,如果存在添加文件的差异,切换分支的时候git就会提示会overwrite文件,这时候就可以使用clean清除这些未跟踪文件,

或者在自己添加了大量的杂乱无章的文件是的时候,后面都不想要这些文件的时候,我也就会使用clean清除这些文件 

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>


-d 
  不添加-d,默认只删除当前文件目录下文件,不进行子目录文件夹搜索

-n --dry run 

空白弹,不删除文件,仅将要删除的文件

-f  --force 

如果Git 仓库配置requireForce的话,需要添加-f才会进行代删除

git会默认不会删除 .git 目录下的文件。 加 -f -f 双-f才会进行删除.git下面的文件

-q  --quite
删除后,不列出删除文件清单,默认列出清单

-i  --interactive

提供可选择项

   *** Commands ***

        1: clean                2: filter by pattern    3: select by numbers
        4: ask each             5: quit                 6: help
    What now> 1

2. 列出所有待删除文件路径,输入过滤pattern模板过滤忽略的文件,输入空返回主命令

3.列出文件,输入数字删除,输入空返回主键命令

4.删除每个文件的时候都会询问是否删除

-e <pattern> --exclude

排除在.gitignore文件忽略的规则,即删除git仓库忽略的规则

-x

小写:运行删除包括.gitignore规则中的文件,连接-e <pattern>可以对-e 中的规则进行忽略不删除,既保留。

-X

大写:只删除.gitgnore中忽略的文件,接-e无效

<path>

删除文件路径,或者模标,可以使用正则表示进行筛选 eg:*.rar

当指令附加上了路径之后,左右的操作都只在符合路径中文件进行操作