网站首页 > 精选文章 正文
.gitignore 是一个文本文件,用于告诉 Git 哪些文件或目录应该被忽略,不纳入版本控制。它通常位于项目的根目录中。通过在 .gitignore 文件中列出文件或目录的名称,Git 在执行操作时会自动忽略这些文件或目录。
如何使用 .gitignore
- 创建 .gitignore 文件:在项目的根目录下创建一个名为 .gitignore 的文件。
- 添加忽略规则:在 .gitignore 文件中,添加需要忽略的文件或目录的路径。例如:
# 忽略 node_modules 目录
node_modules/
# 忽略所有 .log 文件
*.log
# 忽略 dist 目录
dist/
- 提交 .gitignore 文件:将 .gitignore 文件添加到版本控制中,以便其他开发者在克隆项目时也能使用相同的忽略规则。
常见用法
- 忽略特定文件类型:使用通配符 * 来忽略特定类型的文件,例如 *.tmp 忽略所有 .tmp 文件。
- 忽略特定目录:在目录名后加上斜杠 /,例如 build/ 忽略 build 目录。
- 忽略特定文件:直接写出文件名,例如 secret.txt 忽略 secret.txt 文件。
.gitignore 文件是管理项目中不需要版本控制的文件的一个重要工具,帮助保持代码库的整洁和高效。
常见问题
如果你的 .gitignore 文件中已经添加了 package-lock.json 和 yarn.lock,但它们仍然显示在 Git 的 commit 区域,可能有以下几种原因:
- .gitignore 的位置不是根目录: 确保 .gitignore 文件位于项目的根目录,且文件命名准确(确保没有意外的拼写错误或扩展名问题)。
- 添加.gitignore配置之前有的文件已经被跟踪: 如果在添加这些规则配置到 .gitignore 之前,文件已经被 Git 开始跟踪,那么 .gitignore 不能控制这些已经被跟踪的文件。你可以通过以下命令停止跟踪这些文件:
git rm --cached package-lock.json
git rm --cached yarn.lock
这条命令会从 Git 的跟踪中移除这些文件,但不会删除它们在文件系统中的实际存在。移除后,提交更改:
git commit -m "Stop tracking package-lock.json and yarn.lock"
缓存问题: 有时候 Git 可能会出现缓存问题。如果确认 .gitignore 包含这些文件并且文件没有被跟踪,尝试清理 Git 的缓存:
git rm -r --cached .
git add .
git config --get core.excludesfile
- IDE/编辑器影响: 有时候 IDE 或版本控制工具可能会展示不一样的状态,确保你在命令行工具中检查 Git 状态,也就是运行 git status,看看显示的内容是否正常。
下面是.gitignore一般配置
# Vue、React build output
dist/
build/
node_modules/
# Maven
target/
!.mvn/wrapper/maven-wrapper.jar
.flattened-pom.xml
# IntelliJ IDEA
.idea/
*.iws
*.iml
*.ipr
# Eclipse
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
# NetBeans
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
# Logs
logs
*.log
# OS Specific Files
.DS_Store
# Editor Directories and Files
.vscode/
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# Dependency Directories
node_modules
dist-ssr
# Lock Files
package-lock.json
yarn.lock
# Local Environment Files
*.local
猜你喜欢
- 2025-09-13 Windows 10下使用编译并使用openCV
- 2025-09-13 基于Springboot + vue3实现的汽车美容与保养网
- 2025-09-13 超级右键iRightMouse--Mac强大工具
- 2025-09-13 基于Springboot + vue3实现的小区物业管理系统
- 2025-09-13 99 刀买到一把 40 年前的苹果键盘,它竟成了我 2025 年的「码字神器」
- 2025-09-13 Rust如何在一个目录下放多个可执行程序?
- 2025-09-13 MacBook 八款免费必装软件,让你的 Mac 更好用
- 2025-09-13 黑客首次利用 AI 武器化供应链攻击,瞄准流行的 Nx Build 系统
- 2025-09-13 所有电脑管家都叫你清理的注册表,竟然能偷偷控制你的电脑
- 2025-09-13 Claude Code与Gemini放弃代码索引,是一步烂棋
- 最近发表
-
- 使用VSCode来书写你的Jupyter Notebooks
- 在VSCode中使用uv管理Python项目_用vscode写python怎么运行
- Mac M2芯片 VSCode配置C#开发环境
- 配置vscode远程访问docker_vscode远程window开发
- 普通人 如何 利用 类似 ChatGPT AI 编写程序
- 在Vs code中使用sftp插件以及连接windows远程sftp协议部署指导
- 零代码编程:用kimichat合并一个文件夹下的多个文件
- Windows 10下使用编译并使用openCV
- 基于Springboot + vue3实现的汽车美容与保养网
- 超级右键iRightMouse--Mac强大工具
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)