注意我已经研究了git-is-very-very-slow问题,但在他们的情况下,原因是大的二进制文件 - 而在我的存储库中有PHP / JS / HTML / CSS唯一的代码(没有二进制文件)和最大的文件存储库大约800 KB。
我已更改了一个文件(几行),然后是git add .
和git commit -m "msg"
,然后是git push origin master
。
在其他机器上,当我执行git pull origin master
时,它会下载一些MiB数据,计算增量并应用更改需要2分钟以上。这里有些非常错误。
我怀疑最近的一些操作可能会导致这种情况:
最近,我意外添加了许多供应商资产(bower_components
资产)
当我意识到这一点时,我已经使用git rm
将它们从存储库(当然,git add
,git commit
和git push
移到上游)
那是几天前,我现在遇到的问题现在就开始发生了。
我有两个问题:
注意:我是唯一一个使用并推送此回购的人。
答案 0 :(得分:4)
我有类似的经历 - git pull and push突然开始极慢地运行,花了十分钟或更长时间,在我的本地Mac OSX和我的Linux / Apache服务器上。我在Mac上删除了repo的本地副本,然后重新克隆它,它开始运行正常。在服务器上做了同样的事情,一切都很顺利。我想它有点被腐蚀了?
答案 1 :(得分:4)
我有同样的问题。对我来说,这是一个IPv4 / IPv6问题。我修复了它强制SSH使用IPv4的问题。
在/ etc / ssh / ssh_config中设置“ AddressFamily inet”以强制进行IPv4连接。然后重新启动ssh客户端sudo service ssh restart
更多信息here。
答案 2 :(得分:3)
问题发生在EmberJS
app目录中。它包含node_modules
和bower_components
目录,这些目录保留GruntJS
用于构建我的JS和CSS资产的第三方库。
每个都包含许多文件和目录..考虑到依赖树包含数百个大小不同的库,从小(少量文件)到大胖(许多文件)。
删除这些目录并忽略它们之后,git存储库再次快速运行。
答案 3 :(得分:2)
我很幸运地尝试了该线程中的所有解决方案。我在同事的建议下尝试使用git协议2,最终效果非常好(从等待3分钟以内的拉/推动作开始到几秒钟)
git config --global protocol.version 2
答案 4 :(得分:1)
在处理成千上万个小文件时,我遇到了同样的问题。 对我而言,修复此问题的方法是在git repo的配置中设置后缓冲
git config http.postBuffer 524288000
不是以18KB / s的速度上传,而是突然达到了全部带宽
答案 5 :(得分:0)
以防万一有人偶然发现此线程,在删除.git文件夹之前,请尝试重新启动wifi,这可能只是您的wifi连接问题。