.gitignore 详细说明和常见用法

2024-05-10  本文已影响0人  superSK
.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.*

上一篇下一篇

猜你喜欢

热点阅读