前言
在新项目的创建过程中,我们自己会在gitignore 文件中添加一些忽略项,然而,每次使用git status 的时候都未列在 untracked里面,比如 用IDEA 开发,.idea 文件夹添加到该文件,再提交还是会提示。
.gitigQ G , y ~ $nore介绍
.gitignod j U ] : 6re文件是用来忽略开发者想忽略掉的文件或目录,如果没有.gitignore文件,可以自己手工创建。在.gitignore文件中的每一行保存一个匹配的规则。例如:
# 此为注释 – 将被 Git 忽略
*.a# 忽略所有 .a 结尾的文件
!lib.a#U # B # v . # M 但 lib.a 除外
/TODX $ m ` , + Z AO# 仅仅忽略项o Z ) s ) ] @ w目根目录| | g ] z下的 TODO 文件,不V k M x 5 g 4包括 subdir/TODO
nodj K 4 ^ 1e_moY r * ! 2 ! S + 2dules
.project
.vscode
build/# 忽略 build/ 目录下的所有文件
doc/*.txt# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
解决方案
新建的文件在git中会有缓存,如果某些文件已经R ! .被纳入了版O ; X本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,这时候我们就应该先把本地缓存删除O l Z } ) r g,然后再进行git的push,这样就不会出现忽略的文件了。E 0 I A * k
git清除本j , N r 2 ~ :地缓存命令如下:
gitR - % l { ^ V rm -r --cached .
git add .
git commit -m 'update .gitignore'