[Git] 将某些文件从 Git / Github 中彻底删除

Author Avatar
空気浮遊 2022年07月11日
  • 在其它设备中阅读本文章
  • git
  • 分享到 Facebook
  • 分享到 Telegram
  • 分享到 Twitter
  • 分享到微博

如果你不小心误上传了一些文件,并且在很久之后才发现,就会发现 rm 没法做到把 Git 中全部文件从全部 commit 和 branch 中彻底删除。

创建新分支

首先建议创建一个本地的新分支。

这样之后比较方便同步到 github 上。

安装 git-filter-repo

前往此处安装 git-filter-repo :https://github.com/newren/git-filter-repo

如果是 windows 用户,将下载的 git-filter-repo 文件拖放到某个特定路径即可,或者拖放到任意 $PATH 中包含的文件夹里。

这个特定路径你可以通过如下命令在 git bash 中查看:

git --exec-path

随后特别注意,如果 Windows 使用的是 python 而非 python3 命令来运行 python,则需要将脚本第一行的内容从 python3 改为 python。

彻底删除文件

使用如下命令彻底删除文件:

git filter-repo --path <file/directory> --invert-paths

执行该命令可能会提示你该 git 库并非全新 clone 而来,操作不安全。如果想强制运行,往命令后面加上 --force 再次运行即可。

同步到 Github 上

在 Github 上上传该新分支,随后在 Github 上将旧分支彻底删除。如果有必要,前往 Github 的管理界面更改 default-branch 。

参考 & 扩展阅读

https://docs.github.com/zh/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository

INSTALL.md - git-filter-repo

WARNING: git-filter-branch has a glut of gotchas generating mangled history rewrites - Serverfault

本文链接:https://pst.iorinn.moe/archives/purge-something-in-git.html
许可: https://pst.iorinn.moe/license.html
若无特别说明,博客内的文章默认将采用 CC BY 4.0 许可协议 进行许可☆

      新篇
旧篇      
    • fingerprint Login
  • home 主页
  • inbox 归档
    • December 2024 1
    • August 2024 1
    • June 2024 1
    • April 2024 3
    • March 2024 1
    • February 2024 2
    • January 2024 1
    • November 2023 1
    • August 2023 1
    • May 2023 1
    • February 2023 2
    • January 2023 2
    • July 2022 1
    • June 2022 1
    • April 2022 1
    • March 2022 1
    • February 2022 2
    • December 2021 1
    • November 2021 1
    • August 2021 3
    • July 2021 3
    • April 2021 2
    • March 2021 1
    • February 2021 4
    • January 2021 2
    • December 2020 1
    • November 2020 1
    • October 2020 3
    • September 2020 1
    • August 2020 1
    • July 2020 1
    • March 2020 1
    • December 2019 1
    • September 2019 1
    • July 2019 1
    • April 2019 2
    • March 2019 13
    • February 2019 15
    • January 2019 11
    • December 2018 3
    • November 2018 6
    • October 2018 28
    • September 2018 32
    • August 2018 19
    • July 2018 13
    • June 2018 27
    • May 2018 11
    • April 2018 12
    • March 2018 19
    • February 2018 8
    • January 2018 7
    • December 2017 2
    • November 2017 2
  • apps 分类
    • 笔记
    • 题解
    • 杂文
    • 技术
    • 游戏
    • 小说
  • 留言板
  • 关于
  • 友链
  • 文章总数 282
主题 - Material i
expand_less
Copyright © 2025 雪屋
Float in air.
Powered by Typecho
Theme - Material