用过的但是并不常用一些命令,记录备忘。

git clean

1
2
3
4
5
6
7
8
9
10
11
12
$ git clean -h
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

下面部分引自http://www.jianshu.com/p/bc960ea14df0

在利用 git 工作时,工程目录下经常会出现一些未跟踪文件,虽然 git 支持通过 .gitingore 文件添加一些忽略文件类型和文件目录。但有时需要清理一些临时文件和自动生成的文件,手动删除显得太麻烦,这时你可以利用 git clean 命令来帮你完成这项操作。git clean 命令支持以下参数:

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

其中几个主要参数用法如下:

1
2
3
4
-d   # 删除未跟踪目录以及目录下的文件,如果目录下包含其他git仓库文件,并不会删除(-dff可以删除)。
-f # 如果 git cofig 下的 clean.requireForce 为true,那么clean操作需要-f(--force)来强制执行。
-i # 进入交互模式
-n # 查看将要被删除的文件,并不实际删除文件

通过以上几根参数组合,基本上可以满足删除未跟踪文件的需求了。例如在删除前先查看有哪些文件将被删除运行:

1
git clean -n

想删除当前工作目录下的未跟踪文件,但不删除文件夹运行(如果 clean.requireForcefalse 可以不加 -f 选项):

1
git clean -f

想删除当前工作目录下的未跟踪文件以及文件夹运行:

1
git clean -df