.gitignore忽略文件语法规范和意思
以 # 开头表示注释
以 * 匹配零个或多个字符
以 ? 匹配单个字符
以 [] 匹配括号内的任一字符
! 表示不忽略(跟踪)匹配到的文件或目录
不添加任何符号表示直接忽略当前目录下的这个文件
以 / 开头忽略当前目录下的文件,但不包括子目录下的文件
以 / 结尾忽略目录下所有文件及内容,不管是根目录或子目录都会被忽略
.gitignore忽略文件场景
1.创建仓库时选择.gitignore忽略文件,第一次提交代码同步代码时在.gitignore忽略文件设置要忽略文件会生效
2.同步代码之后,忘记设置.gitignore忽略文件文件,开发之后在设置,push到仓库--.gitignore忽略文件不生效
3.仓库没有选择.gitignore忽略文件,开发了创建.gitignore忽略文件配置push仓库--.gitignore忽略文件不生效
.gitignore忽略文件不生效原因
当我们配置完基本框架之后第一次同步代码时是配置.gitignore忽略文件生效,
是用为刚刚git init 这些文件在与远程仓库连接之后没有进行修改过了,
2.3种情况是我们git init 之后与远程仓库进行连接,并且开发之后,会修改这些文件,git会追踪这些文件,可以理解为有缓存,
这些文件正在被追踪进行中,自然是忽略不了
重置忽略文件的命令介绍
git rm -r --cached <file>
#git rm 删除文件或者目录
#-r 当删除目录时,进行级联删除。
#–cached 只删除暂存区的文件或者目录,同时删除当前工作目录和暂存区的文件或者目录。
#file 要删除的文件或目录,以空格隔开填写多个,文件名支持通配符。
//1、同时删除当前工作目录和暂存区的文件或者目录。
git rm <file>
git rm -r <path>
//2、只删除暂存区的文件或者目录。
git rm --cache <file>
git rm -r --cache <path>
//删除指定的文件或者目录。适用于要删除的文件数量比较小的情况。
git rm -r --cached target #删除target目录
git rm -r --cached *.iml #删除iml文件
git rm -r --cached .idea #删除idea目录
git commit -m '提交描述'
git push -u origin <本地分支>:<同名远程分支可不写>
解决.gitignore忽略文件不生效问题--清除本地缓存(改变成未track状态)
// 清除本地所有被追踪的分支
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git push -u origin <本地分支>:<同名远程分支可不写>
Vue项目常用忽略
.DS_Store
node_modules/
dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
**/*.log
tests/**/coverage/
tests/e2e/reports
selenium-debug.log
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.local
package-lock.json
yarn.lock
Node 项目常用忽略
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
uni_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
.cache
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*