如何调试花费太多时间的“git pull”?

问题描述:

我们面临的问题是git pull花费太多时间,最后只是失败。我们正在使用公司Gitlab。如何调试花费太多时间的“git pull”?

当它发生

我的一个同事更新回购一些巨大的视频和图像文件。 而我们试图拉代码可能是因为这些文件其过长和失败也。

我们试图

所有这些都不能解决问题:

  1. 我们移除了从回购的文件。添加到git忽略。
  2. git filter-branch
  3. 我们尝试使用this technique完全删除大文件。
  4. git filter-branch之后尝试了命令git gc

但我的同事,他能拉码非常快,

  1. 可能是因为他已经在他的当地
  2. 或者,也许他正在使用SSH文件,我们没有加入它。

错误

远程:计数目标:1279,完成。 远程:压缩对象:100%(880/880),完成。致命:远端意外挂断MiB | 致命: 743.00 KIB/s的
致命的:早EOF 致命的:指数型包失败

编辑

  1. 我们周围的作品已经从他的系统
  2. 复制复制的项目文件夹到我的系统一样新鲜。
  3. 创建新的SSH密钥
+0

可能的重复[如何从Git存储库中的提交历史中删除/删除大文件?](http://stackoverflow.com/questions/2100907/how-to-remove-delete-a-large-file- from-commit-history-in-git-repository) – Buddy

+1

你的意思是你的同事使用ssh而你自己没有使用它? –

+0

@MusannifZahir我试图用我现有的代码,它不工作。然后,我尝试获得他的代码并创建了新的ssh密钥,然后开始工作。但我需要复制的本地更改将它烧尽。 – Pramod

你的同事的同步更快,因为他已经有一个分支。这听起来像你可能没有使用git filter-branch正确删除大文件。查看历史记录以确保它不再存在。

您可能还需要运行git gc进行垃圾回收。

+0

我的问题是,在他将所有文件更新为回购之后,我试图拉代码花费太多时间,但也失败了。之后他直接从回购中删除了同样的问题。我试过这些命令也存在同样的问题。 – Pramod

+0

@Pramod我怀疑回购仍然有文件 - 否则不应该花费太长时间。你可以尝试运行'git filter-branch --tree-filter'rm -f path/to/videos'HEAD'。这将在每个快照中运行remove命令,无论它是否存在 - 您需要更新remove命令。你的同事应该在本地运行这些命令并更新远程回购。 –