在开发一个小项目的过程中,我一直在 Windows 和 Ubuntu 上使用 Git,经常在两者之间来回切换。问题是Git Bash一直变慢。
当我说慢时,我的意思是运行cd
需要 8-25 秒,运行git
命令需要 5-20 秒,ls
有时可能需要 30 秒。不用说,这不好玩,更不用说没有生产力了。我知道 Git 在 Windows 上速度较慢,但这很荒谬。
对我来说暂时有效的一种解决方案是禁用我的网络连接(如this answer中所建议),启动Git Bash,然后重新连接。有时它会在执行此操作后继续快速运行数天,但最终性能总是会下降。我已经在 msysgit 讨论组、堆栈溢出、msysgit 问题列表等中进行了数周的搜索,但我无法找到可行的解决方案。
到目前为止,我已经尝试过:
- 将 Git 和项目文件夹添加到病毒扫描程序的排除列表
- 完全禁用我的病毒扫描程序(卡巴斯基 IS 2011)
- 确保 Outlook 未运行 (Outlook 2007)
- 关闭所有其他应用程序
- 以管理员身份运行 Git Bash
- 禁用网络连接、启动 Git Bash 并保持禁用连接
- 禁用网络连接,启动 Git Bash,重新启用连接(仅偶尔工作)
- 跑步
git gc
- 以及以上的组合
我确实读到有几个人成功禁用了 Bash 补全功能,但理想情况下我希望保持这种状态。msysgit 的版本是 1.7.3.1-preview20101002 & 操作系统是 Windows 7 x64。可以预见的是,在 Linux 上运行相同的东西会快如闪电。我会专门使用 Linux,但我也需要在 Windows 中运行一些东西(某些应用程序、测试等)。
有没有人遇到过类似的问题?如果是这样,根本问题是什么,解决方案是什么(如果有的话)?
这不仅限于 Git 存储库,但仅供参考,我一直使用 Git 的存储库非常小:最多约 4-50 个文件。