【问题标题】:Why does my Eclipse "count objects" before pushing upstream to GIT each time为什么我的 Eclipse 在每次将上游推送到 GIT 之前都会“计数对象”
【发布时间】:2016-07-05 00:32:48
【问题描述】:

每次我使用 Eclipse 将提交推送到上游 Git 时,它都会不断计算数千个对象。即使我只提交单行更改,也会发生这种情况。大约需要5-10分钟。

为什么 Eclipse 会这样做?我是否选择了一些配置选项来实现这一点?我怎样才能阻止这种情况发生?签入到同一个远程存储库的同事不会执行此步骤。

【问题讨论】:

  • 你发现了吗?我也有同样的问题。
  • 不,我没有找到任何解决方案!但是,我已经离开了那个项目。所以,再也没有遇到过。但是,只要我在使用 Eclipse 应用程序和 git repo 组合,它仍然是一个问题。

标签: eclipse git version-control egit


【解决方案1】:

解决此问题的一个好方法是选择“在后台运行”按钮。根据我的经验,将推送分支作业发送到后台后,该作业几乎会立即完成。似乎将计数写入屏幕的过程正在减慢作业的性能。

【讨论】:

  • 听起来像是一个可能的解决方案。虽然我现在已经换了一台不同的机器!
【解决方案2】:

尝试在 eGit 上运行更新,因为它看起来可能是一个已知错误,已修复:https://bugs.eclipse.org/bugs/show_bug.cgi?id=516276

但该更新尚未普遍可用,因此您需要每晚更新到 EGit http://download.eclipse.org/egit/updates-nightly/ 或暂时在后台运行推送,根据本页末尾的建议: https://www.eclipse.org/forums/index.php/t/1085518/

【讨论】:

    【解决方案3】:

    不仅在 Eclipse 中,甚至使用 git push 进行推送也会执行这些操作并打印其他统计信息。

    这只是用于推送的 git 命令 git count-objects -v 的输出(在 gc、pull 和 clone 时调用相同的命令进行输出)。手册页中的更多信息:git-count-objects(1)。

    $ git count-objects -v
    ...
    size: 14 # The "Compressing objects: 100% (14/14)" part (the size in KiB)
    in-pack: 22 # The "Counting objects: 22" part (the number of objects)
    ...
    

    为什么 git push 会统计对象?

    git 中的每件事都由 objects 表示。这有助于本地和远程之间的机制来讨论什么有什么以及必须传递什么。

    【讨论】:

    • 我可以理解涉及到一些计数。虽然,对我来说,这需要几分钟并显示 20,000 多个对象的进度,而对我的同事来说,这需要几秒钟。是否有某种模式可以在每次推送期间重新评估每个文件?
    • 这取决于提交的大小。当您从 eclipse 推送时,我无法评论 eclipse 所做的过程。但是使用命令“git count-objects -v”来检查你的同事和你的机器有什么不同。
    猜你喜欢
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 2010-11-25
    • 2012-07-09
    • 1970-01-01
    • 2019-05-12
    • 2010-10-06
    相关资源
    最近更新 更多