Git的命令行极为缓慢

问题描述:

我在这个问题 Git/Bash is extremely slow in Windows 7 x64Git的命令行极为缓慢

,但没有运气用尽了一切办法。当我卸载并重新安装它可以工作大约1个小时,那么它又会变慢。如果我运行git与GIT_TRACE=1我得到如下:

09:25:14.452494 git.c:371    trace: built-in: git 'status' 
09:25:14.671494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:14.812494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:14.911494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:15.052494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:15.111494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:15.259494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:15.351494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:15.488494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:15.788494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:15.937494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:16.066494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:16.224494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:16.337494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:16.492494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:16.607494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:16.756494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:16.902494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:17.050494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:17.225494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:17.375494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:17.518494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:17.676494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:17.834494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:17.997494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:18.203494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:18.348494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:18.449494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:18.593494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:18.693494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:18.834494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:18.941494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:19.083494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:19.227494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:19.369494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:19.496494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:19.640494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:19.745494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:19.887494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:19.996494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:20.141494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:20.397494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:20.529494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:20.652494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:20.785494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:20.888494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:21.019494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:21.113494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:21.247494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:21.356494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:21.489494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:21.619494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:21.752494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:21.898494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:22.030494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:22.122494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:22.255494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:22.351494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:22.490494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:22.582494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:22.720494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:22.826494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:22.958494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:23.049494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:23.199494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:23.298494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:23.444494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:23.606494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:23.740494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:23.856494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:23.985494 git.c:371    trace: built-in: git 'status' '--porcelain' 
09:25:24.076494 run-command.c:369  trace: run_command: 'status' '--porcelain' 
09:25:24.211494 git.c:371    trace: built-in: git 'status' '--porcelain' 

其次是通常的输出。 这对我来说看起来并不正常,因为通常它只是一条状态检查的跟踪线。我在cmder中使用它,并且因为它在其他任何事情之后运行git命令来更新分支详细信息,它需要很长时间。任何想法可能会导致这种情况?如果没有任何方法来禁用cmder窗口上的git细节?

+0

请勿使用cmder/clink?它看起来像是一个碰撞提示函数的问题,它为什么会产生每个提示的数十个“状态”命令。 – Maximus

+0

@Maximus没有那么多的命令会在任何shell上产生,我试过了。我问我是否可以禁用git在cmder中的每个提示,如果这个问题不能正确解决(这是停止启动这个许多状态命令的git)。 – Arijoon

+0

“shell” - 是cmd,bash或者你在用什么。 ConEmu是一个终端。 cmder是一套ConEmu和第三方软件,像碰杯。因此,禁用碰撞,或使用裸露的ConEmu来提供“干净”提示。 – Maximus

我的git速度也很慢。当我在命令提示符下输入git时,完成时间超过60秒。 我卸载IBM Security Trusteer Rapport后,问题消失了。