【发布时间】:2014-03-29 05:07:42
【问题描述】:
注意我已经研究了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 assets)
当我意识到这一点时,我已经使用 git rm 将它们从存储库中删除(当然还有 git add、git commit 和 git push 到上游)。
那是几天前的事了,我现在遇到的问题就是从那个时候开始出现的。
我有两个问题:
- 为什么会这样?
- 如何修复我的存储库?
注意:我是唯一一个使用并推送到这个 repo 的人。
【问题讨论】:
-
尝试
git ls-files查看所有签入 git 的文件。可以了解正在发生的事情 -
总共有 530 个文件。我查看了列表,所有文件都应该在那里(并且没有一个大于 800KB)
-
另一台机器是否已经有您删除供应商资产的更改?如果没有,它可能需要在添加和删除它们的地方提取修订,因为只需
git rming 他们就会在历史记录中留下添加内容。如果您随后拉取新的更改,它是否仍然很慢? -
在意外添加文件后,我在目标机器上进行了拉动……这就是我意识到我的错误的时候……所以我去了我的源机器,做了
git rm,向上游推送,然后回到我的目标机器并拉出 -
然而,从那一刻起,目标机器上的每次后续拉取都很慢...我知道它必须在第一次拉取该提交时下载文件..但我希望它在所有后续拉动上快速工作(无论我是否使用
git rm)
标签: git version-control repository