6

我在相当大和复杂的 Java 项目集(超过一百万行代码)和十年的历史中使用 EGit。
在这里,我遇到了 EGit 的严重性能问题,因为即使 Java 文件中的一小行更改也会导致 EGit 重新索引几分钟,这会减慢整个系统的速度。事实上,即使是 git 命令行也有点慢,因为“git status”从命令行需要大约一分钟,但我可以忍受这个性能问题和 EGit 提交对话框缓慢问题(链接)。因为我可以使用 git 命令行来提交和更新,但我不想权衡我的 Eclipse 性能,因为这会影响生产力。

以下是我通过谷歌搜索并询问周围人所尝试的方法:

  1. 在排除文件中添加了所有类文件夹。确实尝试暂时将类文件夹放在 .gitignore 中。
  2. 通过将机器保持开启一天,给 Egit 足够的时间来完成索引。
  3. Git staging、history 和所有其他 Eclipse 视图在进行开发时在 Eclipse 工作台中关闭。
  4. 做了“git gc” - 它对命令行性能产生了影响,但对 EGit 几乎没有任何影响。
  5. Git 的未选中标签装饰器。首选项 -> 常规 -> 外观 -> 标签装饰。
  6. 从路径中删除了 cygwin,正如论坛中某处所读到的那样,JGit 可能正在使用 cygwin 进行路径转换。
  7. 在 Eclipse 中将窗口缓存从 10 增加到 70m(首选项 -> 团队 -> Git -> 窗口缓存)。

PS:Git 仓库指向 svn 远程仓库。另外,我是 git 新手,所以可能在设置中犯了一些错误,所以请随时指出任何事情。

这是我的系统信息,我没有太多花哨的硬件规格,但有一些可用的 RAM (8GB)。

  • git-gui 版本 0.16 gitguid
  • git版本:1.7.10.mysysgit.1
  • JDK 1.6_025
  • Eclipse版本:3.7.2 Java EE版本带参数-Xms1536m -Xmx1536m
  • EGit:1.3.0.201202151440
  • Windows 7 处理器:Core 2 Duo 2.6GHZ
4

2 回答 2

3

这可能不是你的问题,但这个页面出现在谷歌上关于 egit 性能。一旦性能问题的根源是未跟踪(索引?)文件。确保本地目录树中没有大量未跟踪的文件,因为这会严重影响 egit 性能。我删除了一个拥有 10K + 文件的 Director,提交性能从打开提交对话框需要 1 分钟以上变为需要几秒钟。

于 2012-11-21T05:14:34.640 回答
0

这就是CVCS(集中式VCS)和DVCS(分布式)VCS之间的问题:

  • 一个 SVN 存储库可以包含 GB 的数据。
  • Git 存储库应该保持较小,并利用子模块通过多个 Git 存储库来表示。

我怀疑很多回购可能比一个巨大的 Git 回购表现更好。否则,同步问题就会开始发生,例如bug 323839

但这意味着通过一个 SVN 工作区手动管理 Git 存储库和一个 SVN 存储库之间的(简化)同步,您从该工作区复制到您的 Git 存储库,或者将 Git 存储库新的演变复制回 SVN 工作区以提交在。

于 2012-04-21T14:36:15.423 回答