【重要】openEuler src-openeuler/kernel 仓库已完成瘦身(涉及 force push)

一句话总结: 为了解决仓库太大的问题,src-openeuler/kernel 仓库于今天 2021/04/27 下午 17:30 左右进行了*force push* 因此大家之前 fork 和 clone 的私人仓库建议*强制同步*。 1. 个人 fork 的仓库,可以使用 gitee 的*一键同步功能*,强制拉取。 2. 个人本地 clone 的仓库,建议 *删除掉仓库后重新下载*(如果 clone 的是自己 fork 的仓库,待 1 完成后再进行 2 操作)。 # 1 问题背景 ------- 仓库地址:https://gitee.com/src-openeuler/kernel src-openEuler/kernel 仓库通过 PR 方式来合入补丁。 但是 gitee 限制私人仓库不能超过 1G,超过 1G 之后 仓库将被封禁,停止访问,禁止提交。 个人 fork 的 src-openEuler/kernel 私人仓库无法正常 push,因此无法向 openEuler 主仓提交 PR。 # 2 问题分析 ------- 检索 git/objects 信息发现: 历史提交中有一些内核源代码 TAR 包,该文件大小接近 1G,导致仓库较大 涉及的历史提交如下: 即使大文件已经在历史提交中被删除,但是仍然存在于 git 历史记录中,方便查找历史提交和回滚版本。 # 3 问题解决 ------- 通过 git filter-branch 强制删除了历史上的大文件的提交,并重建了 commit 记录。 最后仓库进行了强制 push 本次瘦身清理的历史文件包括: 1. linux-4.19.90.tar.gz 内核源代码 TAR 包 2. patches.tar.bz2 patch 文件 TAR 包 此次清理的历史都是早期仓库创建初期的一些提交,已在后面提交中被清理。 现在当前仓库使用 PR 方式合入,经过 CI 门禁和 Committer 检视,不会再发生此类问题。 清理前,仓库大小 1.1G 清理后,仓库大小 3.1M # 4 影响以及建议操作 ------- 由于仓库进行了强制 push,因此大家之前 fork 和 clone 的私人仓库建议强制同步。 1. fork 的仓库,可以使用 gitee 的一键同步功能,强制拉取。点击红色框中的刷新按钮即可。 2. 自己本地 clone 的仓库,建议删除仓库后重新下载。 谢谢 ---- 成坚
-
chengjian (D)