Git忽略删除已加入和未加入版本控制的文件

一 git强制忽略文件

  1. 对于未加入版本控制的文件,可以创建.gitignore文件来忽略
    在工程目录下创建.gitignore文件,添加想忽略的,这些文件必须是没有add 到版本库的,这样才会起作用,文件内容如下所示:

.gitignore
/projectName/WebRoot/WEB-INF/classes
/projectName/src/resource/config.xml

  1. 对于已经加入版本控制的文件,需要命令来强制忽略
    如果不小心 config.xml 文件被同事加入版本库了,可以用如下命令强制忽略这个文件:
git update-index --assume-unchanged config.xml

这样,即使已经更改了文件,用git status也不会看见文件已经更改。
取消这种设定可以使用如下命令:

git update-index --no-assume-unchanged config.xml

二 git删除 未追踪的文件

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

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

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

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

示例

  1. 删除untracked文件
    git clean -f
  2. 连 untracked 的目录也一起删掉
    git clean -fd
  3. 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
    git clean -xfd
  4. 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
    git clean -nxfd
    git clean -nf
    git clean -nfd

你可能感兴趣的:(git,版本控制,git)