【git】.gitignore 忽略target、.idea文件夹等

1.需求:

项目中如日志,临时文件,编译的中间文件等不想提交到代码仓库,

2.方案:

这时就要设置相应的忽略规则,来忽略这些文件的提交。在项目根路径添加.gitignore文件,内容如下,匹配规则按行从上到下

#忽略所有.svn目录
.svn/
#忽略所有target目录
target/
#忽略所有.idea目录
.idea/
#忽略所有.iml文件
*.iml
语法 含义
/ 目录
* 多个字符
? 单个字符
[] 多个可选字符匹配单个字符
! 不忽略(跟踪)匹配到的文件或目录

详细的规则可以参考官方英文文档

3 .gitignore规则不生效

3.1 现象

不小心在IDE提示是否添加到git时,点了确定,发现管理了.idea、target文件夹,

然后添加.gitignore文件夹,配置了以上规则,但是重新编译后,target的修改在git status还是显示了修改!?

3.2 原因

.gitignore只能忽略那些原来没有被track(之前没有add过)的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

3.3 解决方案

解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached target
git rm -r --cached .idea

此后不再追踪track这两个文件夹

发布了111 篇原创文章 · 获赞 98 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sarafina527/article/details/104555842