1

I tried everything in this question Git/Bash is extremely slow in Windows 7 x64

but no luck. When I uninstall and reinstall it works well for about 1 hours, then it is slow again. If I run git with GIT_TRACE=1 I get the following:

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'

followed by the usual output. This doesn't seem normal to me as usually it is only one trace line for a status check. I am using it in cmder and since it runs a git command after anything else to update the branch details it takes ages. Any ideas on what might cause this? If not any way to disable git details on cmder window?

Community
  • 1
  • 1
Arijoon
  • 2,184
  • 3
  • 24
  • 32
  • Don't use cmder/clink? It looks like a question for clink prompt function why it spawns dozens of "status" commands per prompt. – Maximus Mar 27 '17 at 09:25
  • @Maximus no that many commands will be spawned on any shell, I tried. I asked if I can disable git on each prompt in cmder if this problem cannot be solved properly (which is stopping git from launching this many status commands). – Arijoon Mar 28 '17 at 08:05
  • The "shell" - is cmd, bash or what are you using. ConEmu is a terminal. cmder is a bundle of ConEmu and third-part software like clink. So, disable clink, or use bare ConEmu to have "clean" prompt. – Maximus Mar 28 '17 at 08:57
  • thanks I disabled clink. Not the best solution but git is really slow and can't have it run after every prompt – Arijoon Mar 29 '17 at 08:47

2 Answers2

4

try git gc

this should solve your problem. Worked for me

Maulzey
  • 4,100
  • 5
  • 22
  • 30
-1

My git was also extremely slow. When I type git in command prompt, it took more than 60 seconds for completing. After I uninstalled IBM Security Trusteer Rapport the problem's gone.

Asim K T
  • 16,864
  • 10
  • 77
  • 99