在一个小项目的开发过程中,我一直在Windows和Ubuntu上使用Git,经常在两者之间来回翻转.问题是Git Bash一直变慢.
当我说慢时,我的意思是跑步cd需要8到25秒,运行git命令需要5-20秒,ls有时可能需要30秒.毋庸置疑,这并不好玩,更不用说非生产性了.我知道Git在Windows上比较慢,但这太荒谬了.
对我来说暂时工作的一个解决方案是禁用我的网络连接(如本答案所示),启动Git Bash,然后重新连接.有时它会在这样做之后继续快速运行数天,但性能总是最终会降低.我已经在msysgit讨论组,Stack Overflow,msysgit问题列表等中打开和关闭了几个星期,但我还没有找到有效的解决方案.
到目前为止,我已经尝试过:
git gc我确实读到有几个人成功禁用Bash完成,但理想情况下我想保持活跃.msysgit的版本是1.7.3.1-preview20101002,操作系统是Windows 7 x64.可以预见,在Linux上运行相同的东西是快速的.我会专门使用Linux,但我也需要在Windows中运行东西(某些应用程序,测试等).
有没有人遇到类似的问题?如果是这样,那么潜在的问题是什么?解决方案是什么(如果有的话)?
这超出了Git存储库,但仅供参考,我一直使用Git的存储库非常小:最多4-50个文件.
我喜欢git并且在OS X上经常使用它在家里.在工作中,我们在Windows上使用svn,但是一旦工具完全成熟就想要迁移到git(不仅仅是TortoiseGit,还有类似于VisualSVN提供的非常好的Visual Studio集成).但我离题了......
我最近安装msysgit我的Windows 7机器上,并使用bash所包含的版本时,它的窘况慢.而不仅仅是git操作; clear大约需要五秒钟.AAAAH!
有没有人遇到过类似的问题?
编辑:似乎 msysgit与UAC没有很好的协作,可能只是一个微小的设计疏忽,因为在XP上开发或在禁用UAC的情况下运行Vista或7; 使用Run as administrator我在OS X中看到的闪电速度的结果启动Git Bash (或者在启动Git Bash w/oa网络连接后使用7 - 请参阅@Gauthier答案).
编辑2:啊哈! 看我的回答.
我在一个windowXP 32位环境中遇到msysgit的困难我真的很感激一些帮助.实际上,我正在使用SmartGit并喜欢这个程序.但是它无法同时运行Save Stash和Clean Up.我认为问题出在SmartGit上,我向开发人员寻求帮助.然而,事实证明与msysgit的问题.
我使用的SmartGit使用的是msysgit 1.8.1.2 -preview20130201.我还在一个单独的目录中安装了Git-1.8.3-preview20130601.无论SmartGit使用哪两个版本,问题仍然存在.
SmartGit在尝试保存存储时给出的消息是:
0 [main] us 0 open_stackdumpfile: Dumping stack trace to us.stackdump
0 [main] sh.exe" 8776 sync_with_child: child 936(0x18C) died before initia
lization with status code 0xC0000005
85 [main] sh.exe" 8776 sync_with_child: *** child state waiting for longjmp
C:\Program Files\SmartGitHg 4.5\git/libexec/git-core\git-stash: fork: Resource t
emporarily unavailable
Run Code Online (Sandbox Code Playgroud)
清理生成以下消息:
Clean Up: failed to run repack
0 [main] us 0 open_stackdumpfile: Dumping stack trace to us.stackdump
0 [main] sh.exe" 7236 sync_with_child: child 1236(0x988) died before
initialization with …Run Code Online (Sandbox Code Playgroud)