8

我在我的存储库中添加了两个大文件(每个 150MB),现在 git pull 总是挂在 54%。我使用 ping 检查了网络,尝试使用不同的网络,我做了一个 git fsck 等。没有任何帮助。

  • 我该如何调试呢?

  • 有没有办法一次只获取一个大文件?问题是我的本地 git 不知道最后一次提交 =-(

4

3 回答 3

1

但即使从远程存储库中删除了这两个文件,我也无法拉取。

你用什么方法来“删除这两个文件”?

您需要从存储库历史记录中的所有提交中删除它们。

为此,请参阅例如:如何从 Git 存储库中的提交历史记录中删除/删除大文件?


要检查您git pull是否真的停滞不前或非常慢:检查您的计算机和托管中央存储库的服务器之间的网络流量。


如果您有其他方法来获取 2 个大文件(例如:将它们从 USB 棒复制到您的本地存储库中......),您可以从本地存储库中运行git add (不要运行git commit)这些文件,然后git reset .取消暂存它们。

这应该将这些文件添加到本地存储库中的已知对象列表中,并且git pull不需要再次下载它们。

于 2017-10-18T09:40:00.403 回答
0

我认为您遇到的问题是您的克隆每次都会在中间中断。

因此,我建议您不要每次都从头开始一次又一次地克隆 repo,而是对新创建的 repo 进行 fetch。

基本上,初始化一个空的存储库

cd repo_name && git init

在此 repo 中添加原始 repo 作为远程

git remote add origin url/to/repo

现在做一个git fetch.

这样,即使您的克隆在中间中断,fetch也会注意仅在下次运行时引入未获取的对象。

于 2017-10-17T15:20:40.403 回答
0

增加 Git 缓冲区大小:

git config --global http.postBuffer 157286400

大小应设置为解决问题的最小值。

于 2017-10-23T04:11:41.190 回答