当前位置: 首页 > news >正文

.gitignore 文件相关使用配置

.gitignore 生效但文件仍被追踪的原因与解决办法

📌 原因

  • .gitignore 只对未被追踪的文件生效
  • 如果文件 已经被 Git 追踪(add 过),即使写进 .gitignore,Git 仍然会继续追踪它的变化。

✅ 解决办法

1. 停止追踪指定文件(保留本地文件)

git rm --cached <file>
git commit -m "stop tracking <file>"

示例:

git rm --cached config.json
git commit -m "stop tracking config.json"

2. 停止追踪整个目录

git rm -r --cached <dir>
git commit -m "stop tracking <dir>"

示例:

git rm -r --cached node_modules
git commit -m "stop tracking node_modules"

3. 设置全局 .gitignore(忽略所有仓库中的特定文件)

git config --global core.excludesfile ~/.gitignore_global

编辑 ~/.gitignore_global,写入规则,例如:

.DS_Store
*.log
.idea/

4. 常见 .gitignore 规则写法

  • 忽略某个文件

    config.json
    
  • 忽略目录

    /build/
    
  • 忽略所有 .log 文件

    *.log
    
  • 强制追踪某个文件(取反规则)

    *.log
    !important.log
    

📖 总结

  • .gitignore 不会影响已追踪的文件
  • 必须用 git rm --cached <file> 将其从 Git 索引中移除,再提交一次。
  • 之后 .gitignore 配置才会真正生效。

.gitignore 中如何强制跟踪某个文件

📌 原因

  • .gitignore 的规则会忽略匹配的文件/目录。
  • 但是可以通过 取反规则(前面加 !)让某些文件即使在忽略规则中,仍然被跟踪。

✅ 解决办法

1. 使用取反 ! 规则

例如:忽略所有 .log 文件,但想要保留 important.log

*.log
!important.log

这样 important.log 就会继续被 Git 跟踪。


2. 忽略目录但保留其中某个文件

例如:忽略 config/ 目录,但保留 config/prod.json

config/*
!config/prod.json

3. 文件已经被 .gitignore 忽略,但我想手动跟踪

如果某个文件被 .gitignore 忽略,但你 仍然想强制添加并跟踪,可以用:

git add -f <file>

示例:

git add -f config/dev.json
git commit -m "force add dev.json"

⚠️ 注意:
-f 会强制添加被忽略的文件,适用于一些临时需要提交的情况。


📖 总结

  • !.gitignore 中取反,可以让被忽略的目录/文件中的某个例外继续跟踪。
  • 如果需要临时强制提交被忽略的文件,可以用 git add -f <file>
http://www.dtcms.com/a/352215.html

相关文章:

  • 【Redis】安装和基础命令
  • 十、Java面向对象编程入门指南:继承与多态
  • 利用 OpenTelemetry 建设尾部采样
  • 大模型全栈学习路线:4 - 6 个月从入门到实战,打通技术与业务闭环
  • [灵动微电子 霍尔FOC MM32BIN560C]从引脚到应用
  • 《黑客帝国》解构:白帽黑客的极客思维宇宙
  • vue3写一个简单的时间轴组件
  • 【python】python利用QQ邮箱SMTP发送邮件
  • k8s pod resources: {} 设置的含义
  • 支持向量机(第二十九节课内容总结)
  • TensorFlow 面试题及详细答案 120道(61-70)-- 高级特性与工具
  • 如何在项目中集成XXL-JOB
  • uniapp 引入使用u-view 完整步骤,u-view 样式不生效
  • 重复文件删除查找工具 Duplicate Files Search Link v10.7.0
  • 【深度学习】Transformer 注意力机制与 LoRA target_modules 详解
  • 如何安装 VS2019 和 .NET Core SDK 2.2.301(winx64)?完整操作步骤(附安装包下载)
  • 基于YOLOv11训练无人机视角Visdrone2019数据集
  • 区块链技术探索与应用:从密码学奇迹到产业变革引擎
  • 从入门到理解:支持向量机的核心原理与实战思路
  • 计数组合学7.21(有界部分大小的平面分拆)
  • 车载铁框矫平机:一辆“会熨衣服”的工程车
  • 高性能异步任务编排框架:Gobrs-Async
  • 【项目】深房数据通——深圳房价可视化系统
  • 嵌入式第三十七课!!!TCP机制与HTTP协议
  • 【学习笔记】系统时间跳变会影响time接口解决措施
  • 相关法律、法规知识(五)
  • 单层膜可改善无铅钙钛矿太阳能电池
  • Java 企业应用单点登录(SSO)实现方案详解
  • 创维桌面云终端-创维LB2002-白盒-晶晨S905L3A-2+8G-线刷刷机包
  • 实验2 天气预报