最近在做一个新项目的时候,发现项目的 build/ .idea/ gradle/ .gradle/ 会在被提交的时候也提交到 gitlab 仓库中去了。所以想使用 .gitignore 文件忽略这些文件夹。
然后在 .gitignore 添加忽略后,还是不生效。如下:
所以第一反应是 .gitignore 规则无效
我们一起来看下,不生效也就是有2种问题:
下面规则和例子翻译自官网,(原地址:https://git-scm.com/docs/gitignore)
" ** " 模式中与完整路径名匹配的两个连续星号(“ ”)可能具有特殊含义:
由于疏忽 直接使用 git add -A ,把无用的文件纳入 git 管理。这时候再加入 .gitignore 已经没有效果了,可以直接使用下面的命令,从暂存区中移除
git rm --cached <file> 其中 <file> 是文件名或者目录
由于文件并没有纳入git 管理,重新改写 .gitignore 文件,完美解决,下面附上规则
gradle/
.idea/
build/
/gradlew.bat
/gradlew
/LOG_FILE_IS_UNDEFINED
/out
.gradle/