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

如果已经提交,重新添加gitignore文件,会忽略么

如果一个文件已经被提交到 Git 仓库,那么即使你在 .gitignore 文件中添加了该文件的规则,Git 仍然会继续跟踪该文件的变化。被提交的文件不会因为 .gitignore 文件中的规则而自动停止跟踪。

如何处理已经提交的文件

如果你希望 Git 停止跟踪已经提交的文件,但又不删除该文件,你可以按照以下步骤操作:

1. 停止跟踪已经提交的文件

要让 Git 停止跟踪已经提交的文件,同时又将其添加到 .gitignore 文件中,你需要使用 git rm --cached 命令。这个命令会从 Git 的索引中移除文件,但文件仍然保留在你的本地文件系统中。

步骤如下:

  1. 将文件添加到 .gitignore
    编辑 .gitignore 文件,将你希望忽略的文件或目录添加进去。例如:

    logs/
    config/config.json
    
  2. 从 Git 中移除跟踪但保留文件:
    使用 git rm --cached 命令来从索引中移除文件。例如,移除整个 logs/ 目录和 config/config.json 文件:

    git rm --cached -r logs/
    git rm --cached config/config.json
    
    • --cached:表示只从 Git 的索引中删除文件,而不删除本地文件系统中的文件。
    • -r:用于递归地移除整个目录。
  3. 提交更改:
    移除文件跟踪后,你需要提交这些更改。这样,Git 将不再跟踪这些文件或目录:

    git add .gitignore
    git commit -m "Stop tracking files and add them to .gitignore"
    
  4. 推送到远程仓库:
    如果你使用远程仓库,还需要将这些更改推送上去:

    git push origin main
    

注意事项

  • 执行完 git rm --cached 后,虽然文件不再被 Git 跟踪,但仍然保留在本地。如果其他人拉取这些更改,Git 会从他们的工作目录中删除这些文件(因为它们不再受跟踪)。
  • .gitignore 仅适用于未被跟踪的文件。因此,必须使用 git rm --cached 来停止跟踪已提交的文件。

总结

  • 如果文件已经被提交到 Git,添加 .gitignore 不会自动忽略该文件。
  • 你需要使用 git rm --cached 来停止跟踪这些文件,然后再将它们添加到 .gitignore 文件中。

http://www.kler.cn/a/289958.html

相关文章:

  • npm list @types/node 命令用于列出当前项目中 @types/node 包及其依赖关系
  • SpringBoot参数注解
  • 【Vue】Vue3.0(十九)Vue 3.0 中一种组件间通信方式-自定义事件
  • 应用程序部署(IIS的相关使用,sql server的相关使用)
  • mysql 实现分库分表之 --- 基于 MyCAT 的分片策略详解
  • 【Python】爬虫通过验证码
  • 【QT】学习笔记:枚举桌面窗口句柄
  • 代码随想录算法训练营第35天|背包问题基础、46. 携带研究材料(01背包二维解法)(01背包一维解法)(acm)、416. 分割等和子集
  • 解决Vue npm 淘宝镜像证书过期问题
  • Blazor项目中建立WebApi
  • C++使用MyStack和MyQueue封装栈和队列
  • Chrome 浏览器插件获取网页 window 对象(方案一)
  • pip切换清华源
  • 数据结构二叉树——堆
  • Scott Brinker:Martech中的AI会让买家体验更好还是更糟?这取决于…….
  • Unity版本升级2022 Gradle 升级7.x版本调整
  • 代码随想录 刷题记录-27 图论 (4)拓扑排序
  • Rides实现分布式锁,保障数据一致性,Redisson分布式事务处理
  • python学习之路 - PySpark快速入门
  • docker实战基础三(Docker基础命令)
  • lvgl 自定义组件介绍二
  • yolo训练策略--使用 Python 和 OpenCV 进行图像亮度增强与批量文件复制之(图像增强是按梯度变化优化)
  • 光盘安全隔离与信息单向导入系统-信刻
  • 以人口金字塔图为例,在线绘制左右双侧堆叠条形图
  • 如何设计店铺租赁租凭平台?Java SpringBoot实现全攻略
  • 后端是否开启异步执行,看打印日志的线程信息