😉 你好呀,我是爱编程的Sherry,很高兴在这里遇见你!我是一名拥有十多年开发经验的前端工程师。这一路走来,面对困难时也曾感到迷茫,凭借不懈的努力和坚持,重新找到了前进的方向。我的人生格言是——认准方向,坚持不懈,你终将迎来辉煌!欢迎关注我😁,我将在这里分享工作中积累的经验和心得,希望我的分享能够给你带来帮助。
👉 关于【Vue3项目实战系列】专栏,本专栏旨在帮助新人粉丝全面快速的掌握vue3开发技术,在接下来的日子里我带着大家从零开始一个vue3项目,项目包含了框架搭建,用户登录,用户权限,表格增删改查,表单验证,等一套完整的用户管理系统的实践开发,学完可以帮助前端新人至少拥有一年工作经验,本专栏完全免费,欢迎关注并订阅!🎈
🎯如果你有任何困惑或疑问欢迎评论区给我留言哦,我收到后会第一时间为你答疑解惑😉
引言
.gitignore 文件是 Git 版本控制系统中的一个重要组成部分,用于指定哪些文件或目录应该被 Git 忽略,不纳入版本控制。这有助于保持仓库的整洁,避免不必要的文件(如编译输出、临时文件等)混入版本历史中。
基本规则
- 注释:以
#开头的行被视为注释。 - 空行:空白行会被忽略。
- 绝对路径:从根目录开始的路径(以斜杠
/开始),表示该路径下的特定文件或目录。 - 相对路径:不以斜杠
/开始的路径,表示从任何位置开始匹配。 - 通配符:
*匹配零个或多个任意字符。?匹配单个任意字符。[abc]匹配方括号内的任意一个字符。**匹配多级目录,例如dir/**/file可以匹配dir/subdir/file等。
- 排除已忽略的文件:如果某个文件已经通过之前的规则被忽略,但你又想将其加入到Git管理中,可以在其名称前加上
!来取消忽略。
注意事项
.gitignore文件只能影响尚未被追踪的文件。如果文件已经被 Git 追踪,则更改.gitignore不会使其停止被追踪。要停止追踪一个已经被添加到仓库的文件,可以使用git rm --cached <file>命令。.gitignore文件本身应当被提交到版本库中,以便团队成员共享相同的忽略规则。
文件详细讲解
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
*.tsbuildinfo
日志文件 (# Logs)
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
logs:忽略名为logs的目录,通常用于存储应用程序运行时生成的日志文件。*.log:忽略所有以.log结尾的文件,适用于任何位置的日志文件。npm-debug.log*、yarn-debug.log*、yarn-error.log*、pnpm-debug.log*、lerna-debug.log*:这些规则分别忽略了由 npm、yarn、pnpm 和 lerna 工具生成的调试日志文件。星号(*)表示匹配任意长度的字符,因此可以匹配如npm-debug.log.1或yarn-error.log.gz等文件。
忽略构建输出和系统文件
node_modules
.DS_Store
dist
dist-ssr
coverage
*.local
node_modules:忽略node_modules目录,这是存放项目依赖包的地方,通常不需要纳入版本控制,因为可以通过package.json和package-lock.json来重新安装这些依赖。.DS_Store:忽略 macOS 系统在文件夹中创建的元数据文件。dist、dist-ssr:忽略这两个目录,它们通常是 Vue 项目的生产构建输出目录。coverage:忽略代码覆盖率报告目录,通常由测试工具生成。*.local:忽略所有以.local结尾的文件,这类文件可能包含本地配置或用户特定的数据。
测试相关 (/cypress/videos/ 和 /cypress/screenshots/)
/cypress/videos/
/cypress/screenshots/
/cypress/videos/:忽略 Cypress 测试工具录制的视频文件所在的目录。/cypress/screenshots/:忽略 Cypress 测试过程中生成的截图文件所在的目录。
编辑器相关的目录和文件 (# Editor directories and files)
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
*.tsbuildinfo
.vscode/*:忽略 Visual Studio Code 编辑器创建的所有设置和工作区文件,但排除了extensions.json文件(通过!.vscode/extensions.json恢复跟踪),这有助于团队成员共享推荐的扩展。.idea:忽略 JetBrains IDE(如 WebStorm、IntelliJ IDEA)创建的项目配置文件。*.suo、*.ntvs*、*.njsproj、*.sln:这些规则忽略了与 Visual Studio 开发环境相关的文件。*.sw?:忽略 Vim 或其他编辑器创建的交换文件。*.tsbuildinfo:忽略 TypeScript 构建信息文件,它是由 TypeScript 编译器生成的缓存文件,用于加速增量编译。
2881






