转载自:Git设置ignore文件_gitignore文件-CSDN博客
一、设置ignore文件
有些时候我们创建了一个项目,但是项目中有些文件不想被Git跟踪、提交。例如maven项目中的target目录,日志目录,idea 或者 eclipse 在加载项目后自动生成的一些本地化文件或者目录等。怎么办呢?这就需要我们为项目设置ignore文件。
步骤:
1. 在项目根目录下创建 .gitignore 文件,一定要是根目录下;
2. 编辑 .gitignore 文件,按照如下规则过滤需要忽略的文件或者文件夹
# 注释 - 以井号(#)开头的行为注释
# 忽略单个文件
filename.txt
# 忽略文件类型(例如所有的txt文件)
*.txt
# 忽略目录(例如一个名为"logs"的目录)
/logs/
# 忽略特定目录下的所有文件和子目录(例如一个名为"temp"的目录)
/temp/*
# 忽略特定目录及其子目录中的特定文件(例如忽略"logs"目录下的所有.log文件)
3. 保存并关闭 .gitignore 文件;
4. 将.gitignore
文件添加到Git仓库中并提交更交
- git add .gitignore
- git commit -m "Add .gitignore file, XXXX"
从此以后,Git将忽略.gitignore文件中指定的文件和目录,并且它们不会出现在git status、git add和git commit等命令的结果中。
二、.gitingore 文件不生效
如果你设置了.gitignore文件但它不起作用,可能是由于以下几个原因:
1. .gitignore文件名称不对,或者没有放到项目的跟目录下;
2. 文件里过滤的规则语法不对;
3. 文件已经被Git跟踪:如果你在设置.gitignore文件之前已经将文件添加到Git仓库并提交了更改,那么.gitignore文件对于已经被Git跟踪的文件是无效的。在这种情况下,你需要使用以下命令将这些文件从Git中删除:
git rm --cached <filename>
4. 缓存未清除:如果你之前已经将一些文件添加到Git仓库,并且在.gitignore
文件中将它们列为忽略项,那么这些文件可能仍然存在于Git的缓存中。在这种情况下,.gitignore
文件不会立即生效。你可以尝试使用以下命令清除Git缓存并更新忽略规则:
- git rm -r --cached .
- git add .
- git commit -m "Update .gitignore, XXXX"
一般来说不生效都是因为 3或者4 条的原因,只要按照上面的命令执行了基本上都是OK的。