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

GIT远端上传了的文件,下次提交不想更新某一个类型的文件,使用.gitignore的实现步骤

要忽略已上传到Git远端的特定类型文件,并确保后续提交不再更新它们,需结合.gitignore和Git索引操作。以下是详细步骤:

1. 将文件类型添加到.gitignore

在项目根目录的.gitignore文件中添加要忽略的文件类型(如忽略所有.log文件):

# 编辑.gitignore
echo "*.log" >> .gitignore  # 将 *.log 替换为你的文件类型(如 *.tmp)

2. 从Git索引中移除已跟踪的文件(关键步骤)

使用git rm --cached命令移除Git对这些文件的跟踪(保留本地文件):

# 移除所有已跟踪的.log文件(保留本地文件)
git rm --cached -- **/*.log
--cached:只从Git索引中移除,不删除本地文件。
**/*.log:递归匹配所有目录下的.log文件(根据你的文件类型调整)。

3. 提交更改

提交.gitignore和索引变更:

git add .gitignore
git commit -m "忽略所有.log文件并停止跟踪"
git push origin 分支名  # 推送到远端

验证结果

远端:已存在的文件会被删除(但保留在Git历史记录中)。

本地:文件仍保留,但后续修改不再被跟踪。

新提交:.log文件不再出现在变更列表中。

注意事项

1.协作影响:

其他开发者拉取此提交后,他们本地的.log文件会被删除(但可通过git checkout HEAD – *.log恢复)。

需通知团队更新.gitignore并处理本地文件。

2.已推送文件处理:

如果不想删除远端文件(仅忽略后续修改),需保留最后一次提交的文件快照。

若需彻底删除远端文件(包括历史记录),需使用git filter-repo(谨慎操作)。

示例流程

假设忽略所有.log文件:

# 1. 添加忽略规则
echo "*.log" >> .gitignore# 2. 停止跟踪所有.log文件
git rm --cached -- **/*.log# 3. 提交并推送
git add .gitignore
git commit -m "停止跟踪.log文件"
git push origin master

这样操作后,所有.log文件将保留在本地,但Git不再跟踪它们的修改,且新提交不会包含它们。

http://www.xdnf.cn/news/9758.html

相关文章:

  • 《突破极限:用Python量化技术将700B参数MoE模型塞进消费级显卡》
  • 科学智能赋能空间科学研究(1):中国空间站空间科学实验的数据生态构建
  • 联通专线加持!亿林网络 24 核 32G 裸金属服务器,千兆共享带宽适配中小型企业 IT 架构
  • 解决各个系统报错TDengine:no taos in java.library.path问题
  • 【论文解读】DETR: 用Transformer实现真正的End2End目标检测
  • vue + vue-loop-scroll表格点击,弹出详情滚动不暂停
  • 海上石油钻井平台人员安全管控解决方案
  • 表中如何插入数据!扩展技能边界
  • 线代第五章第一节:矩阵的特征值与特征向量
  • 【ROS2】Qt Debug日志重定向到ROS2日志管理系统中
  • MCP介绍,原理说明,完整使用示例demo
  • ubuntu 22.04 安装下载
  • 打印机可以异地远程打印吗?本地网络怎么设置操作打印机给远程连接使用?
  • day39python打卡
  • Java无序数组 vs 有序数组:性能对比与选型指南
  • 大白话解释一下pdm和pcm
  • Ansys Zemax | 手机镜头设计 - 第 2 部分:光机械封装
  • MySql(六)
  • 探秘文件系统:定义、功能与各类型全方位对比
  • 攻防世界János-the-Ripper
  • 基于蚁群算法的三维路径规划原理与实现
  • 2025推客系统小程序开发:独立部署源码交付,高性价比裂变增长引擎
  • TI dsp FSI (快速串行接口)
  • 使用python rembg模块移除图片背景
  • TensorFlow Extended (TFX) 生产环境模型版本控制与回滚实战指南
  • JavaScript性能优化实战技术文章大纲
  • Python爬虫实战:研究Requests-HTML库相关技术
  • 典籍知识问答重新生成逻辑修改
  • 线程安全问题的原因和解决方案
  • String类中的常用方法