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

[yotroy.cool] 记一次 Git 移除某个不该提交的文件

个人博客https://www.yotroy.cool/,感谢关注~
图片资源可能显示不全,请前往博客查看哦!

============================================================

方法一: git rebase -i 修改提交

rebase 到之前提交

$ git rebase -i HEAD~15    // rebase到往前15条提交的位置
$ git rebase -i <58361c2...>    // rebase 到某次特定提交
$ git rebase -i --root // 修改根提交(第一次提交)

编辑器中会列出:

pick abc1234 Initial commit
pick def5678 Add something else
...

把你想修改的第一个提交改为:

edit abc1234 Initial commit

从该提交中移除你不该提交的文件:

git reset HEAD secret.txt
git restore --staged secret.txt
git commit --amend
git rebase --continue

修改commit

git commit --amend

强制推送

git push --force

方法二(替代):git filter-repo 彻底清除文件历史(适合处理多个提交中都出现的文件)

git filter-repo 的下载不讲了。

如果该文件不仅出现在第一次提交中,而且后续提交中也修改过,建议使用以下一种:

git filter-repo --path secret.txt --invert-pathspython -m git_filter_repo --path secret.txt --invert-paths --force
http://www.lryc.cn/news/590803.html

相关文章:

  • 云手机的具体技术要求有什么?
  • 高光谱相机(Hyperspectral Camera)
  • 深度学习 -- 初步认识Torch
  • 卷积神经网络--网络性能提升
  • kong是什么
  • 线上项目https看不了http的图片解决
  • 数据结构 栈(2)--栈的实现
  • 图片上传实现
  • 性能优化的利器:SWC
  • Codeforces Round 1016 (Div. 3) A-F
  • 激活函数LeakyReLU
  • SM3算法工程中添加bouncycastle.bcprov.jdk15on库
  • 信息收集知识总结
  • 60个功能OfficeBox 万彩办公大师:PDF 格式转换 OCR识别免费无广告
  • 深入理解-Java-线程池:原理、动态调整与监控实践
  • 【SF顺丰】顺丰开放平台API对接(注册、API测试篇)
  • C#.NET BackgroundService 详解
  • LVS集群实践
  • NW956NW961美光固态闪存NW964NW968
  • 一个项目的完整一生 --- 一 窗口大小设置
  • 数据结构 双向链表(2)--双向链表的实现
  • 如何在硬件中进行有效地调试
  • 数据库询问RAG框架Vanna的总体架构
  • 912. 排序数组
  • 基于Spring AI Alibaba的智能知识助手系统:从零到一的RAG实战开发
  • 语音增强论文汇总
  • YOLO13正式发布!考虑将yolov13的创新点融合到半监督中,构建YOLOv13_ssod
  • github上传大文件(多种解决方案)
  • 力扣 hot100 Day46
  • 分布式系统高可用性设计 - 监控与日志系统