首页 > 解决方案 > git 推送到 gitlab 非常慢

问题描述

我的 git 推送非常慢,将一个 200MB 的项目推送到 gitlab 大约需要 45 分钟,我平均得到 70.00 KiB/s,知道为什么会这样吗?

我正在尝试使用 --verbose 开关来查看是否可以看到哪些文件正在减慢速度(通常在 1/% 之后它会更快一点......但是 --verbose 开关不显示任何附加信息,是有这样的东西吗?

我通常通过 ssh 进行 git push。

这可能是因为我的项目中有一些图像吗?像 8MB 的图像不应该让它那么慢......

无论如何,提前谢谢!

标签: git

解决方案


是的,它是图像。

将图像添加到 git repo 是一个已知问题,它会使 repo 的推送和拉取速度慢得多。

原因是对于一张图像的大小相当于数千行文本文件。添加 3-4 张图像,您将大大增加您的存储库的大小。

该怎么办?

三种实用方法

1. 接受事物的本来面目。

下次知道避免将图像放入 git repo 中。将它们放在哪里,在图像的外部服务上;通常使用 Amazon S3 或使用内容交付网络(如 Cloudinary 有免费计划)。

好消息是缓慢应该只是第一次将图像推/拉到新位置。之后.. 推/拉只会降低通常再次成为文本文件的差异。

所以这意味着现在设置这个 repo 总是很慢,但是一旦被拉下来应该又可以了。

2. 将事情恢复原状。

为了使您的存储库像以前一样快速和小型,您将需要将图像取回。用 git 做这件事会很麻烦,因为 git 的整个设计前提是开发人员很难从 repo 中清除已提交的文件。

3. 重新开始.. 了解你的 git 历史并重新开始。

这通常是完全不推荐的,因为您丢失了所有的提交历史,但如果您是一个较新的开发人员并且这是一个非常小的项目..那么实际上是的,您可以重新开始。删除 git 文件夹,删除图像,通过引用外部 url 实现图像,然后将其余文件提交回新存储库。

如果您要走这条路,请谨慎行事。


推荐阅读