关于优化Eclipse上EGit的建议

时间:2012-04-21 01:27:47

标签: eclipse git egit

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

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

  1. 在排除文件中添加了所有类文件夹。确实尝试将类文件夹放在.gitignore中。暂时。
  2. 让Egit有足够的时间通过保持机器开启一天来完成索引。
  3. Git staging,历史记录和所有其他Eclipses视图在开发时都在Eclipse工作台中关闭。
  4. “git gc” - 它在命令行性能上有所不同,但对于EGit几乎没有任何区别。
  5. Git的未选中标签装饰器。偏好 - >一般 - >外观 - >标签装饰。
  6. 从路径中移除了cygwin,正如在论坛中某处读到的那样,JGit可能会使用cygwin进行路径转换。
  7. 在Eclipse中将窗口缓存从10增加到70米(首选项 - >团队 - > Git - >窗口缓存)。
  8. PS:Git存储库指向svn远程存储库。另外,我是git newbie所以可能在设置中犯了一些错误,所以请随意指出任何内容。

    这是我的系统信息,我没有太多花哨的硬件规格,但有些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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

  • 一个SVN repo可以包含GB值的数据。
  • Git repo应该保持较小,并利用submodules来代表,通过多个Git回购。

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

但这意味着手动管理Git repos和一个SVN repo之间的(简化)同步,通过SVN工作区从中复制到yourGit repos,或者你正在复制Git repos将新的evolution重新发送回SVN要提交的工作空间。