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

git做版本管理的时候,中途添加了新的内容在.gitignore中,怎么让git不再跟踪

当您在 .gitignore 文件中添加了新的路径模式后,Git 将不再跟踪这些路径下的新文件。但是,如果这些路径下的文件已经被 Git 跟踪(即它们已经被提交到仓库),您需要执行一些额外的步骤来让 Git 停止跟踪这些文件。

以下是停止跟踪 /src/**/build/ 目录下文件的步骤:

  1. 从暂存区移除文件
    如果这些文件已经被添加到暂存区,您需要先从暂存区中移除它们。可以使用以下命令:

    git rm --cached -r src/**/build/
    

    这个命令会递归地从暂存区(即 .git 目录中的 index 文件)中移除 src/**/build/ 目录下的所有文件,但不会删除它们在文件系统中的存在。

  2. 提交更改
    提交这个更改,这样 .gitignore 的新规则就会生效:

    git commit -m "Remove build directories from tracking"
    
  3. 更新 .gitignore 文件
    确保您的 .gitignore 文件包含了正确的路径模式,例如:

    /src/**/build/
    

    这样,Git 将不会跟踪任何在这个模式下的文件。

  4. 拉取和推送更改
    如果您是在多人协作的项目中工作,确保将这些更改推送到远程仓库,并且其他协作者也更新他们的本地 .gitignore 文件。

  5. 清理本地仓库
    如果您想要清理本地仓库中不再需要的 build 目录,可以使用 git clean 命令:

    git clean -fdx src/**/build/
    

    这个命令会强制删除 src/**/build/ 目录及其所有文件和子目录,但请注意,这个操作是不可逆的,所以请确保您不再需要这些文件。

请注意,这些步骤将停止 Git 对指定目录的跟踪,但不会从历史记录中删除已经提交的 build 目录的内容。如果您需要从历史记录中删除这些内容,那将是一个更复杂的过程,可能涉及到重写历史记录,这通常不推荐在多人协作的项目中进行。


分享一个有趣的 学习链接

http://www.lryc.cn/news/423797.html

相关文章:

  • Unity新输入系统 之 PlayerInput(真正的最后封装部分)
  • 跨部门协作:观测云在促进业务与技术团队合作中的作用
  • OceanBase V4.3 列存引擎之场景问题汇总
  • Spring中的Aware接口及应用场景
  • 设计模式 - 建造者模式
  • MySQL数据分析进阶(十二)设计数据库——PART4
  • 在 Spring Boot 中使用桥接模式实现灵活的报表生成服务
  • 算法:外卖调度
  • leetcode50. Pow(x, n),快速幂算法
  • Xinstall神器来袭,轻松搞定CPA推广渠道统计!
  • 011 | efinance分析豆一主连期货
  • 【Python】函数入门(下)
  • git的基本概念和使用原理
  • 手写简化版的vue-router
  • 分享一个基于uni-app的蛋糕商城订购小程序的设计与实现(源码、调试、LW、开题、PPT)
  • Python绘图入门:使用Matplotlib绘制柱状图
  • Qt5编译qmqtt库使用MQTT协议连接华为云IOT完成数据上传与交互
  • mysql速起架子
  • 云动态摘要 2024-08-14
  • Elasticsearch 桶(Bucket)聚合详解及示例
  • Django基础知识
  • 使用 nginx 搭建代理服务器(正向代理 https 网站)指南
  • 深入解析亚马逊数据采集工具选择:Data API/Scrape API/Pangolin采集器
  • 探索Linux多样性:主流发行版及其应用场景
  • CentOS7.6 HAproxy-7层负载均衡集群——实施方案
  • 升级ubuntu22.10到24.04
  • YOLO好像也没那么难?
  • html编写贪吃蛇页面小游戏(可以玩)
  • 【淘宝购买的源码靠谱吗】
  • C++ | list