我在主数据库中有超过35.000次提交的存储库。它的存储空间很大(超过14 GB),我想删除所有6个月以上的旧提交并保留所有更改。我的意思是,我不需要外汇交易。 30.000的历史记录提交,我只想保留最后的5.000。您有什么解决方案可以实现吗?
我想知道如何使用HEAD^5000
从现有存储库创建一个新存储库,然后尝试提取其余存储库,但是我不知道它是否可以工作。也正在考虑编辑.git
目录,但这可能并不容易。
它可以与rebase / squash一起使用,但是我可以做为历史记录,当我拉动master开发/功能或任何当前的合并请求时,不会有冲突吗?
答案 0 :(得分:0)
您可以使用git-filter-repo
之类的东西来重写仓库历史记录;顺便说一句,它有一些更酷的方法来减少回购规模,例如删除过时的大斑点,也许首先尝试使用res/raw
标志。
请注意,重新编写共享的git历史记录将要求所有协作者将其本地更改移植到新的历史记录中,至少可以说这是相当耗时的。您可能还应该与他们协调向新历史的迁移。