猿问

Git Bash在Windows 7 x64上非常慢

在一个小项目的开发过程中,我一直在Windows和Ubuntu上使用Git,经常在两者之间来回切换。问题在于,Git Bash持续变慢。


当我说慢的时候,我的意思是运行cd需要8-25秒,运行git命令需要5-20秒,ls有时可能需要30秒。不用说,这不好玩,更不用说徒劳了。我知道Git在Windows上速度较慢,但这很荒谬。


对我而言,暂时有效的一种解决方案是禁用我的网络连接(如本答案所述),启动Git Bash,然后重新连接。有时它会在几天后继续快速运行,但是性能最终最终会下降。我已经连续数周浏览了msysgit讨论组,Stack Overflow,msysgit问题列表等内容,但我无法提供有效的解决方案。


到目前为止,我已经尝试过:


将Git和项目文件夹添加到病毒扫描程序的排除列表中

完全禁用我的病毒扫描程序(Kaspersky 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个文件。


慕标5832272
浏览 3852回答 3
3回答

翻阅古今

您的Bash提示中是否显示Git信息?如果是这样,可能是您无意间对每个命令做了太多的工作。为了验证这一理论,请尝试以下Bash临时更改:export PS1='$'

繁星点点滴滴

我的Windows主目录位于网络上,我怀疑Git Bash命令首先在该目录中查找。果然,当我查看时$PATH,它/h/bin首先列出/h了Windows文件服务器上的共享,即使该共享/h/bin不存在。我编辑/etc/profile并注释了将其放在第一位的export命令$PATH:#export PATH="$HOME/bin:$PATH"这使我的命令运行得更快,可能是因为Git Bash不再通过网络寻找可执行文件了。我/etc/profile是c:\Program Files (x86)\Git\etc\profile。
随时随地看视频慕课网APP
我要回答