我向仓库添加了两个大文件(每个150MB),现在git pull总是卡在54%。我使用ping检查了网络,尝试使用其他网络,进行了git fsck等操作。无济于事。
我该如何调试?
是否有一种方法可以仅获取其中一个大文件?问题是我的本地git不知道最后的提交=-(
您是如何“删除这两个文件”的?
您需要将它们从您的仓库历史提交记录中全部删除。
为此,请参见例如:如何从Git仓库提交历史中删除/删除大型文件?
git pull
是否真的被卡住了或者只是非常缓慢:检查你的计算机和托管中央仓库的服务器之间的网络流量。
git add
(不要运行git commit
)将这些文件添加到其中,然后运行git reset .
以取消暂存。
这应该会将这些文件添加到本地仓库已知对象列表中,而git pull
则不需要再次下载它们。
我认为你遇到的问题是每次克隆都会在中途中断。
因此,建议你不要每次都从头开始克隆仓库,而是在新创建的仓库上执行一次获取操作。
基本上,初始化一个空的存储库即可。
cd repo_name && git init
git remote add origin url/to/repo
现在执行 git fetch
命令。
这样,即使您的克隆在中途中断,fetch
命令也会在下一次运行时负责获取未获取的对象。
增加 Git 缓冲区大小:
git config --global http.postBuffer 157286400
缓冲区大小应设置为最小值,以解决问题。
git-annex
高效管理大型文件可能是值得的。更多详细信息请参见https://dev59.com/GHRB5IYBdhLWcg3wtZQV#6635160. - Prakash Murthygit pull -v
并查看日志是否有任何输出。 - Tarun Lalwanistrace git pull <...>
的输出是什么? - Samir Aguiar