如何调整远程存储库的大小而不删除所有提交历史记录?

时间:2016-11-10 10:47:18

标签: git git-rm

stackoverflow上已经有几个非常相关的问题(下面有一些链接),但我无法解决我的特定问题。

我与同事共享一个存储库,他们推送了大量数据文件/图像,将远程存储库的大小增加到14 GB。稍后,仅使用rm filename删除了这些文件,这些文件将本地存储库的大小调整为合理的大小。但是,当我在线查看时,存储库的大小仍为14 GB。

我尝试减少存储库大小的是建议here

git reflog expire --expire=now --all
git gc --aggressive --prune=now

但这只会影响我本地存储库的大小。

answers here没有任何帮助,因为这些文件并没有在我自己的计算机上被删除,而是在同事身上删除了。的。

我还没有尝试过,但可能有用的是删除here所述的所有提交历史记录。但是,我实际上会保留所有提交历史记录,并且只删除rm filename在不属于我自己的计算机上创建的所有垃圾。

是否有任何解决方案(摆脱在其他本地计算机上创建的垃圾以减少远程存储库的大小)而不删除所有提交历史记录?

编辑:

在评论的@torek's link中,我找到了一个命令来摆脱与某个文件相关的提交。然后我试图摆脱所有关于图像的提交,例如巴纽。我使用了以下命令:

git filter-branch --tree-filter 'rm -f *.png' HEAD

然而,我接到消息:

  

警告:Ref' refs / heads / master'没有改变

我如何正确使用它?

0 个答案:

没有答案