【发布时间】:2018-07-01 17:25:36
【问题描述】:
我开始使用一个旧的非常大的 repo 来开发一个项目,大约是 1.1GB
我已经从原始 repo 完全克隆到另一个 repo 并称之为original-repo
该项目将仅在特定部分上继续,并且所有其他部分都已弃用,因此从初始提交 (7e48a70) 到特定提交 (222b1f3) 的所有提交和分支都是无用的。为了使 repo 干净,我需要删除所有这些提交和除 master 之外的所有分支,并重写工作 repo 的历史记录。
我搜索并阅读了很多主题,使用了很多脚本和命令,安装了一些 Git GUI 应用程序,但无法删除提交和分支以清理并减少 repo 的大小。回购大小仍然是1.1GB。
任何帮助将不胜感激。
【问题讨论】:
-
我刚刚建议在another question 中,您可以完成shallow clone 并继续努力。
-
您是要实际删除这些提交的内容,还是将它们全部压缩成一个怪物提交?
-
@RyanLundy 我想实际删除提交。就像他们从未存在过一样。我想减小 repo 的大小。
-
@TobiasK 我已经尝试过浅克隆,但是当你浅克隆一个 repo (
original-repo) 时,你似乎无法将它推送到另一个 repo。 -
是的,抱歉,实际上您似乎无法推动它。有道理,因为历史上有一个孤立的提交,抱歉:(如果没有比 222b1f3 更新的提交,你可以
rm -rf .git,然后重新初始化,git add .并提交。
标签: git git-commit git-rewrite-history