002 vue3-admin项目的目录及文件说明之.gitignore文件

news/2025/11/3 23:25:53/文章来源:https://www.cnblogs.com/allenxx/p/19188535
.gitignore 文件是 Git 版本控制系统中非常重要的配置文件,用于指定哪些文件或目录应该被 Git 忽略,不纳入版本控制。

基本概念

作用

  • 告诉 Git 哪些文件不需要追踪
  • 避免将不必要的文件提交到代码仓库
  • 保持仓库清洁,减小仓库体积

工作原理

  • Git 会读取.gitignore 文件中的规则
  • 匹配到的文件将不会出现在git status
  • 不会被git add命令添加到暂存区

常见的前端.gitignore 配置

# 依赖目录
node_modules/
jspm_packages/
typings/
.pnp/
.pnp.js# 测试目录
coverage/
tests/unit/coverage/
tests/e2e/reports/# 构建输出目录
dist/
build/
out/
release/
deploy/# 日志文件
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*# 编辑器配置文件
.idea/
.vscode/
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?# 操作系统文件
.DS_Store
Thumbs.db# 环境变量文件
.env
.env.local
.env.development.local
.env.test.local
.env.production.local# 缓存文件
.cache/
.eslintcache
.stylelintcache
.tmp
.temp# IDE特定文件
*.sublime-project
*.sublime-workspace
*.idea/
*.vscode/
*.atom/# 其他
*.log
*.gz
*.zip
*.tar
*.rar
*.bak

模式匹配规则

基本语法

# 注释行,以#开头
*.log              # 匹配所有.log文件
build/             # 匹配build目录及其所有内容
src/**/*.js        # 匹配src目录下所有子目录中的.js文件
!package.json      # 否定匹配,不忽略package.json

常用模式

# 匹配所有.js文件
*.js# 匹配所有.css文件
*.css# 匹配所有.map文件
*.map# 匹配特定目录下的所有文件
dist/*# 匹配目录及其子目录
node_modules/**/*# 匹配特定文件
.env.local

最佳实践

1. 使用模板

# 使用GitHub提供的模板
npx gitignore node

npx gitignore node 是一个非常实用的命令,用于快速生成针对 Node.js 项目的专业.gitignore 文件

  • npx: Node.js 包运行器,无需全局安装即可运行命令
  • gitignore: 这是一个 npm 包,提供了生成.gitignore 文件的功能
  • node: 指定要生成的.gitignore 模板类型

原理:

  1. 该命令会从 GitHub 的官方.gitignore 模板库获取最新的 Node.js 模板
  2. 在当前目录生成一个.gitignore文件
  3. 包含了 Node.js 项目常见的需要忽略的文件和目录

项目初始化:

mkdir my-project
cd my-project
npm init -y
npx gitignore node  # 生成.gitignore
git init
git add .
git commit -m "Initial commit

image

 

2. 分环境配置

# 通用忽略规则
node_modules/
dist/# 开发环境特定
.env.development.local
.env.test.local# 生产环境特定
.env.production.local

3. 保持.gitignore 更新

  • 定期检查并更新.gitignore
  • 当添加新的依赖或工具时,及时添加相应的忽略规则

4. 不要忽略必要的配置文件

# 不要忽略这些重要文件
!package.json
!package-lock.json
!yarn.lock
!.eslintrc.js
!.prettierrc.js

 

常见问题解决

Q: 已经提交的文件如何忽略?

# 先从Git中移除
git rm --cached filename# 然后添加到.gitignore
echo "filename" >> .gitignore# 提交更改
git commit -m "Ignore filename"

Q: 如何忽略已经跟踪的目录?

git rm -r --cached node_modules
echo "node_modules/" >> .gitignore
git commit -m "Ignore node_modules"

Q: 如何查看.gitignore 的生效情况?

# 检查特定文件是否被忽略
git check-ignore -v filename# 列出所有被忽略的文件
git ls-files --others -i --exclude-standard

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/954996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025.11.03 正睿

正睿二十连测可以把左移操作看成将某个元素丢到最后。 如果两种颜色相交了,一定要把一种颜色全丢到最后。 所以题目转化为至少要往后丢多少个元素(最多保留多少个元素不动)。也就是每种颜色设 \(l_i, r_i\) 为其第一…

使用QSPI驱动PM004MNIA

本文对MRAM芯片PM004MNIA进行简单介绍,并提供QSPI驱动程序源码。概述 STT-MRAM PM004MNIA 是一种具有 随机存取(Random Access) 特性的非易失性存储器,无需擦除操作,可进行 任意地址的读写操作。它的核心基于 自旋…

c++虚函数与纯虚函数解析

c++虚函数与纯虚函数解析定义一个函数为虚函数,不代表函数为不被实现的函数。 定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。 定义纯虚函数是为了实现…

杂谈:关于java帝国的一些内容

Java帝国 三高高性能 高并发 高可用几大版本javaME标准版:用于桌面端 javaSE移动版:用于手机端 javaEE企业版:用于服务器相对于c,c++的优势与弊端 优势:使用更加简明方便,没有指针以及内存管理上的太多烦恼。 劣…

11月3日日记

1.今天java考试 2.明天上工程实训 3.数据库连接如何通过 Java Bean 封装实现 “配置与代码分离”?

洛谷 P3615

有一个混厕和一个女厕以及 \(2n\) 个男/女士排队。若女厕为空,则最前面的女士会进入;队头的人会进入他能进的厕所(女性优先进女厕。) 每个人需要在厕所待 \(1min\)(切换不算时间)。你可以重排这个队列,使得这些…

蒟蒻的S游记碎碎念

ASUKA就是ASUKA感觉s比j发挥的好是怎么回事? 进来看T1,发现突然一眼看不出思路,心态直接崩了。(那可是我唯一的希望!最能写出来的题啊??!!) 为了稳住心态,去看了后几题,发现越来越恶心(最后一题先看了个2…

简单五子棋对战(AI生成)

简单五子棋对战(AI生成)目录简单五子棋对战(AI生成)一、目标二、包结构三、代码设计与讲解3.1 Main.java3.2 Chessboard.java3.3 Player.java3.4 HumanPlayer.java3.5 AIPlayer.java3.6 GameRecord.java3.7 RankLi…

扬贺扬国产DDR4、国产NAND存储、国产EMMC存储

扬贺扬国产DDR芯片主要有: DDR3L 2Gb HYD2G16L3AA-B9A 1.35V 1866Mbps 0℃ ~95℃ BGA 96 4Gb HYD4G16L3AA-B9A 1.35V 1866Mbps 0℃ ~95℃ BGA 96 DDR4 4Gb HYD4G16V4BA-B9A 1.2V 3200Mbps 0℃ ~95℃ BGA 96 8Gb HYD8G…

【python刷题记录】移动零-双指针-简单

【python刷题记录】移动零-双指针-简单链接:283. 移动零 - 力扣(LeetCode) 直接解1 class Solution(object):2 def moveZeroes(self, nums):3 """4 :type nums: List[int]5 …

[linux]记账工具-监控用户活动

记账工具可以提供诸如 Linux 系统中的连接、已执行的程序以及系统资源的使用等有底系统使用信息前言 记账工具可以提供诸如 Linux 系统中的连接、已执行的程序以及系统资源的使用等有底系统使用信息。这些记账工具可以…

002 vue3-admin项目的目录及文件说明之public目录

主要作用 1. 存放静态资源放置 HTML、CSS、JavaScript 等静态文件 存储图片、字体、图标等资源文件 这些文件会被原样复制到最终的构建目录中2. 入口文件通常包含 index.html 作为应用的入口文件 这个 HTML 文件是应用…

Day11CSS特性

CSS的特性包括继承性,层叠性,优先级 1.继承性 子级默认继承父级的文字控制属性 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="…

[GDB] GDB-Dashboard: GDB可视化工具

[GDB] GDB-Dashboard: GDB可视化工具$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");Grok生成(2025年11月3日22:54:39)目录GDB-Dashboard 学习文档前言:为…

kettle调度系统-kettle spoon方式调度,强大兼容性,支持各种版本kettle

场景: 昨天发布了xxkg-pdi 金刚调度系统,kettler小伙伴们火速使用了起来,有不少小伙伴催我操作教程,今天下班回家饭都没来的吃,开始搞教程。今天咱们一起学***kg-pdi 调度系统如何使用spoon方式进行调度,这里说的…

Django 项目开发整体步骤(0 开始)

Django 项目开发整体步骤-基础版1. 环境准备 - 安装 Python(推荐 3.10+)。 - 创建虚拟环境(venv 或 virtualenv)。# Linux / Mac mkdir django_demo cd django_demopython3 -m venv myenv source myenv/bin/ac…

[GDB] cgdb: GDB 可视化工具

[GDB] cgdb: GDB 可视化工具$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");Grok生成(2025年11月3日22:52:04)目录GDB 与 CGDB 学习文档前言:为什么要学习…

Maya 2025软件超详细下载安装教程(附安装包和激活步骤)

很多朋友想用上 Maya 2025 这款专业的三维动画设计软件,却在安装环节犯了难。其实 Maya 安装并不复杂,这篇教程就把 Maya 2025 从下载到能用的每一步都说清楚,跟着做,保准你能顺利用上 Maya。目录一、Maya 2025优势…

AI元人文构想:基于价值原语和三值纠缠的权衡

AI元人文构想:基于价值原语和三值纠缠的权衡 笔者:岐金兰 摘要: 本文提出“AI元人文”构想,旨在解决AI在价值决策中的根本缺陷。该框架通过将模糊的人文价值“原语化”为可操作单元,并引入“欲望值、客观值、自感…