如何调试花费太多时间的“git pull”?
我们面临的问题是git pull
花费太多时间,最后只是失败。我们正在使用公司Gitlab。如何调试花费太多时间的“git pull”?
当它发生
我的一个同事更新回购一些巨大的视频和图像文件。 而我们试图拉代码可能是因为这些文件其过长和失败也。
我们试图
所有这些都不能解决问题:
- 我们移除了从回购的文件。添加到git忽略。
-
git filter-branch
。 - 我们尝试使用this technique完全删除大文件。
- 在
git filter-branch
之后尝试了命令git gc
。
但我的同事,他能拉码非常快,
- 可能是因为他已经在他的当地
- 或者,也许他正在使用SSH文件,我们没有加入它。
错误
远程:计数目标:1279,完成。 远程:压缩对象:100%(880/880),完成。致命:远端意外挂断MiB | 致命: 743.00 KIB/s的
致命的:早EOF 致命的:指数型包失败
编辑
- 我们周围的作品已经从他的系统
- 复制复制的项目文件夹到我的系统一样新鲜。
- 创建新的SSH密钥
你的同事的同步更快,因为他已经有一个分支。这听起来像你可能没有使用git filter-branch
正确删除大文件。查看历史记录以确保它不再存在。
您可能还需要运行git gc
进行垃圾回收。
我的问题是,在他将所有文件更新为回购之后,我试图拉代码花费太多时间,但也失败了。之后他直接从回购中删除了同样的问题。我试过这些命令也存在同样的问题。 – Pramod
@Pramod我怀疑回购仍然有文件 - 否则不应该花费太长时间。你可以尝试运行'git filter-branch --tree-filter'rm -f path/to/videos'HEAD'。这将在每个快照中运行remove命令,无论它是否存在 - 您需要更新remove命令。你的同事应该在本地运行这些命令并更新远程回购。 –
可能的重复[如何从Git存储库中的提交历史中删除/删除大文件?](http://stackoverflow.com/questions/2100907/how-to-remove-delete-a-large-file- from-commit-history-in-git-repository) – Buddy
你的意思是你的同事使用ssh而你自己没有使用它? –
@MusannifZahir我试图用我现有的代码,它不工作。然后,我尝试获得他的代码并创建了新的ssh密钥,然后开始工作。但我需要复制的本地更改将它烧尽。 – Pramod