转载请注明:https://blog.csdn.net/wuli_youhouli/article/details/111132622
功能
添加要忽略的文件或目录,每行表示一个忽略规则。
规则
一行一行的从上到下进行匹配
" / 开头":目录
" / 结束":只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
" * ":通配多个字符
" ? ":通配单个字符
" []":包含单个字符的匹配列表
" [^ab]":必须不是a,b中任一单个字符
" ! ":不忽略
" # ":注释
案例:
/node_modules/ // 忽略node_modules整个文件夹
/node_modules/1.js // 忽略node_modules文件夹下1.js文件
!/node_modules/readme.txt // 忽略node_modules文件夹,但是不忽略readme.txt
fd1/* // 忽略bag文件夹下的全部内容,包括:根目录下的 /bag/ ,子目录 /child/bag/ 。
*.zip // 忽略所有.zip文件
*.[vuejs] // 忽略.vue和 .js文件
/bag/* // 忽略根目录bag文件夹下的全部任务
dist // 忽略dist文件夹及文件夹下的文件
常用忽略文件
.DS_Store
node_modules/
dist/
npm-debug.log
package-lock.json
// uniapp打包后的文件
unpackage
unpackage/*
去掉已经托管的文件
项目开始就要创建.gitignore文件。创建.gitignore文件之前就push了项目,后期写新的过滤规则也不会起作用。去掉已经托管的文件,然后提交即可。
.gitignore只能忽略原来没有被跟踪的文件,因此跟踪过的文件是无法被忽略的。
解决方法:先把本地缓存删除(改变成未track状态),然后再提交
git rm -r --cached . // . 或者 文件/文件夹名字
git add .
git commit -m "update .gitignore"