.gitignore忽略文件
一、什么样的文件需要被忽略?
总体而言,有两类文件需要被忽略:
- 1、项目中依赖的第三方库。如maven,gradle,npm管理的第三方文件。
- 2、基于IDE开发的项目,一般项目文件的同级目录下,会有关于IDE对于该项目的管理,记录文件等,尤其注意同级目录下的隐藏文件。(也就是该项目下,非项目工程的代码文件,资源文件外,最好是都忽略掉)
二、.gitignore忽略规则详解?
1、配置语法:
- 以斜线"/“开头表示目录。
- 以星号”*“匹配当前目录下的任意文件名。但是不匹配子目录下的文件名。
- 以双星号"**"匹配当前目录下的任意文件名,以及递归子目录下的任意文件名。
- 以问号"?"匹配当前目录下的任意一个字符。
- 以中括号"[]"匹配单个字符的匹配列表。
- 以感叹号"!"表示不忽略指定的文件或者目录。
2、配置规则及其作用:
- /direactoryName 表示过滤本文件夹下的所有文件。
- *.ext 过滤所有指定后缀的文件。
- /directoryName/fileName.ext 过滤指定目录下的指定文件。
- /directoryName/*.ext过滤指定目录下指定后缀的文件。
- !/directory/fileName.ext 对指定文件夹下指定文件不进行过滤处理。一般用于被过滤文件夹下的指定文件。
3、常见java项目.gitignore配置
# Created by .ignore support plugin (hsz.mobi)
.gitignore
# Operating System Files
*.DS_Store
Thumbs.db
*.sw?
.#*
*#
*~
*.sublime-*
# Build Artifacts
.gradle/
build/
target/
bin/
dependency-reduced-pom.xml
# Eclipse Project Files
.classpath
.project
.settings/
# IntelliJ IDEA Files
*.iml
*.ipr
*.iws
*.idea
三、当需要被忽略的文件被同步到了远程版本库,如何进行彻底删除,并使得本地的忽略配置对该文件生效?
之所以存在这个问题,重要原因是:==> 如果你创建.gitignore文件之前就push了某一文件,那么即使你在.gitignore文件中写入过滤该文件的规则,该规则也不会起作用,git仍然会对该文件进行版本管理。
未完待续,需要找个休息时间测试完后再上传。