通过删除提交范围来清理旧的git repo

时间:2018-07-01 17:25:37

标签: git git-commit git-rewrite-history

我开始从事一个项目,该项目的仓库规模很大,大约1.1GB

我已将原始存储库的完整克隆复制到另一个存储库中,并将其命名为original-repo

该项目将仅在特定部分继续进行,而所有其他部分均已弃用,因此从初始提交(7e48a70)到特定提交(222b1f3)的所有提交和分支都是无用的。为了使仓库更干净,我需要删除除master以外的所有提交和所有分支,并重写工作仓库的历史记录。

我已经搜索并阅读了很多主题,使用了许多脚本和命令,安装了一些Git GUI应用程序,但是无法删除提交和分支以进行清理并减小存储库的大小。回购规模仍为1.1GB

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果您想保留提交日志,请尝试

git revert "HEAD^"

否则,您可以尝试软/硬重置

git reset --soft "HEAD^"

git reset --hard "HEAD^"

如有任何混淆,请阅读Difference between soft, mixed and hard reset

您还可以使用

删除远程分支。
git push origin --delete <branch_name>

修改

您可以使用

还原两次提交之间的更改。
git revert commit_id1..commit_id2