Git / Bash在Windows 7 x64中速度非常慢
在开发一个小型项目期间,我一直在Windows和Ubuntu上使用Git,经常在两者之间来回翻转。 我遇到的问题是Git / Bash一直变慢。 当我说慢时,我的意思是运行cd
需要8-25秒的时间,运行git
命令需要5-20秒,而ls
最多可能需要30秒。 不用说,这不好玩,更不用说没有生产力了。 我知道Git在Windows上比较慢,但这很荒谬。
对我而言,暂时工作的一种解决方案是禁用我的网络连接(如本答案中的建议),启动git,然后重新连接。 有时候这样做会持续很长时间,但最终性能总是会下降。 我已经通过msysgit讨论组,SO,msysgit问题列表等等几个星期来关闭,但我一直无法找到可行的解决方案。
到目前为止,我试过了:
我确实读过一些人已经成功禁用bash完成,但理想情况下我想保持活跃。 msysgit的版本是1.7.3.1-preview20101002,操作系统是Windows 7 x64。 可以预见,在Linux上运行相同的东西闪电般快。 我会专门使用Linux,但我也需要在Windows中运行一些东西(某些应用程序,测试等)。
有没有人遇到类似的问题? 如果是这样,底层问题是什么,解决方案是什么(如果有的话)?
编辑:这超出了只是git仓库,但仅供参考,我一直使用git的回购已经很小:最多4-50个文件。
您可以通过运行三个命令来设置一些配置选项,从而显着加快Windows上的git:
$ git config --global core.preloadindex true
$ git config --global core.fscache true
$ git config --global gc.auto 256
笔记:
core.preloadindex
并行执行文件系统操作以隐藏延迟(更新:在git 2.1中默认启用)
core.fscache
修复了UAC问题,因此您不需要以admin身份运行git(更新:在Git for Windows 2.8中默认启用)
gc.auto
最大限度地减少.git /
你的Bash提示中显示Git信息吗? 如果是这样,也许你无意中在每个命令上做了太多的工作。 要测试这个理论,请在Bash中尝试以下临时更改:
export PS1='$'
我的Windows主目录在网络上,我怀疑Git Bash命令首先在那里寻找。 果然,当我查看$ PATH时,它首先列出/ h / bin,其中/ h是Windows文件服务器上的共享,即使/ h / bin不存在。 我编辑了/ etc / profile并将注释放在$ PATH中的export命令注释掉了:
#export PATH="$HOME/bin:$PATH"
这使得我的命令运行得更快,可能是因为Git Bash不再通过网络查看可执行文件。 我的/ etc / profile是c: Program Files(x86) Git etc profile。
链接地址: http://www.djcxy.com/p/43565.html