我怎样才能在gitlab上清理远程仓库中的历史记录

时间:2015-11-18 06:19:11

标签: git

我的前同事在项目仓库上放了很多二进制文件。

目前,回购邮件大小约为20GB。一个惊人的巨大的尺寸。

是否有其他方法可以在不创建新版本的情况下减少回购邮件大小。

我可以接受放弃那些二进制文件

由于

1 个答案:

答案 0 :(得分:2)

您可以重写包含有问题的二进制文件的任何提交,然后使用重写的历史记录强制更新远程存储库。

任何从远程存储库中提取错误提交的人都需要了解更改,以便他们可以更新其本地存储库以与新历史记录保持一致。

重写历史记录的命令是git filter-branch

请注意,文档中有一些关于使用此命令的警告,您应该认真对待它们。重写历史记录不应该轻易完成,您应该在强制更新远程存储库之前验证结果是否正确。

此外,您需要确保何时强制更新远程存储库,在您开始重写历史记录的时间与您准备更新远程存储库的时间之间没有人向其推送任何内容。在你开始之前,你应该告诉每个人你正在做什么,他们不应该推动任何事情。或者,您可以直接关闭远程存储库。

在完成历史记录重写并更新远程存储库之后,需要更新到新历史记录的用户可以通过git stash他们的工作,获取新历史记录,然后重新定位到新历史记录来进行更新。承诺他们还没有推,最后还没有收拾他们的工作。

在尝试执行此操作之前,您可能会发现了解git如何工作的更多信息。有一个free book可以很好地覆盖它。