gitignore文件中忽略项不起作用的解决方法

在使用git的时候会遇到这样的情况,我们生产的一些class或者target的目录,我不能提交,这个时候我们需要使用gitignore,但是有的时候虽然添加了,但是不起作用。

情况:开发过程中,我们自己会在gitignore 文件中添加一些忽略项,然而,每次使用git status 的时候都未列在 untracked里面,比如 用IDEA 开发,.idea 文件夹添加到该文件,再提交还是会提示。

原因:新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现忽略的文件了。git清除本地缓存命令如下:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

介绍:.gitignore文件是用来忽略开发者想忽略掉的文件或目录,如果没有.gitignore文件,可以自己手工创建。在.gitignore文件中的每一行保存一个匹配的规则。例如:

# 此为注释 – 将被 Git 忽略

*.a       # 忽略所有 .a 结尾的文件
!lib.a    # 但 lib.a 除外
 
/TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
 
node_modules
.project
.vscode
 
build/    # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt,但不包括 doc/server/arch.tx

 

posted @ 2021-11-01 10:30  键盘敲飞  阅读(667)  评论(0编辑  收藏  举报