如何清理远程GIT仓库?

4
我有一个托管在GIT上的仓库,可用的磁盘空间有限,但与RedMine系统连接。 我正在打包一些软件并将其推送到仓库中,但由于空间不足,我已经无法继续操作。现在我需要清理掉这些软件包(这些包已经不再需要)。 考虑到我不能重新创建仓库(它与RedMine系统紧密关联),我该如何从远程仓库历史记录中删除这些软件包呢?
2个回答

1

这就是为什么你应该考虑不使用版本控制系统(VCS),例如Git(它是一种分布式版本控制系统)或任何其他VCS来进行打包和发布管理。

请参见在VCS(SVN,Git等)中存储.jar文件的最佳实践

Nexus这样的外部构件库更加适用,特别是当涉及到清理和删除软件旧版本的时候。


我不明白如何在保留存储库与RedMine系统之间链接的同时更改存储库的Git历史记录:任何更改都将触发新的SHA1引用。


0

您可以使用git rebase -i将一些提交内容“压缩”在一起,以便中间件不再存在于存储库中,然后用git push -f将其推送到服务器上。但是,如果其他人使用同一个存储库,则重新设置会导致问题。

此外,与原始修订和相关文件关联的内容仅在进行垃圾收集后才会从存储库中实际删除(我认为您无法在远程执行此操作,但它应该会自动发生)并且它们不再从Reflog中引用(默认情况下条目在那里停留90天)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接