如何清理远程GIT存储库?

时间:2010-08-01 08:15:48

标签: git repository

我有一个托管的GIT存储库,磁盘空间有限,但与RedMine系统连接。 我正在打包一些软件并推送和拉动存储库,我的空间已经用完了。现在我需要清理(需要注意包裹)。 考虑到我无法重新创建存储库(它与RedMine的链接过于严格),如何从远程存储库历史记录中删除这些包?

2 个答案:

答案 0 :(得分:1)

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

请参阅Best practice to store .jar files in VCS (SVN, Git, …)

更适合使用 Nexus 等外部工件库,特别是在清理和删除软件的旧打包版本时。


我不知道你如何在你的repo 的Git历史中改变任何东西,而保留了所述repo和你的RedMine系统之间的链接:任何改变都会触发一个新的SHA1引用。

答案 1 :(得分:0)

您可以使用git rebase -i将一些提交“压缩”在一起,以便中间体不再存在于存储库中,然后将git push -f添加到服务器上。但是,如果其他人使用相同的存储库,则变基会导致问题。

此外,原始修订版和与之关联的文件只有在完成垃圾收集后才会从存储库中删除(我认为你不能远程执行,但它应该自动发生)它们不再从reflog中引用(条目在默认情况下保留90天)。