Git ist unter OS X sehr langsam

Wann immer ich etwas mit Git auf meinem MacBook (brandneues Macbook Pro mit El Capitan) verwende, dauert es fast eine volle Minute für jeden Befehl. Ich habe ein einfaches gemacht

GIT_TRACE=1 git stash

und bekam das zurück:

17:04:27.460826 git.c:557               trace: exec: 'git-stash'
17:04:27.463136 run-command.c:347       trace: run_command: 'git-stash'
17:04:32.503827 git.c:348               trace: built-in: git 'rev-parse' '--git-dir'
17:04:34.521223 git.c:348               trace: built-in: git 'rev-parse' '--show-toplevel'
17:04:35.527473 git.c:348               trace: built-in: git 'config' '--get-colorbool' 'color.interactive'
17:04:36.534443 git.c:348               trace: built-in: git 'config' '--get-color' 'color.interactive.help' 'red bold'
17:04:37.538357 git.c:348               trace: built-in: git 'config' '--get-color' '' 'reset'
17:04:38.544472 git.c:348               trace: built-in: git 'update-index' '-q' '--refresh'
17:04:39.567521 git.c:348               trace: built-in: git 'diff-index' '--quiet' '--cached' 'HEAD' '--ignore-submodules' '--'
17:04:40.578480 git.c:348               trace: built-in: git 'diff-files' '--quiet' '--ignore-submodules'
17:04:41.595078 git.c:348               trace: built-in: git 'update-index' '-q' '--refresh'
17:04:42.612776 git.c:348               trace: built-in: git 'diff-index' '--quiet' '--cached' 'HEAD' '--ignore-submodules' '--'
17:04:43.621067 git.c:348               trace: built-in: git 'diff-files' '--quiet' '--ignore-submodules'
17:04:44.636720 git.c:348               trace: built-in: git 'rev-parse' '--verify' 'HEAD'
17:04:45.642275 git.c:348               trace: built-in: git 'rev-list' '--oneline' '-n' '1' 'HEAD' '--'
17:04:46.648038 git.c:348               trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
17:04:47.653633 git.c:348               trace: built-in: git 'write-tree'
17:04:48.664282 git.c:348               trace: built-in: git 'commit-tree' '<hex_number>' '-p' '<hex_number>'
17:04:49.672125 git.c:348               trace: built-in: git 'read-tree' '--index-output=/Users/<USER>/.git/index.stash.62412' '-m' '<hex_number>'
17:04:50.707740 git.c:348               trace: built-in: git 'diff' '--name-only' '-z' 'HEAD' '--'
17:04:51.737890 git.c:348               trace: built-in: git 'update-index' '-z' '--add' '--remove' '--stdin'
17:04:52.752634 git.c:348               trace: built-in: git 'write-tree'
17:04:53.772245 git.c:348               trace: built-in: git 'commit-tree' '<hex_number>' '-p' '<hex_number>' '-p' '<hex_number>'
17:04:54.778991 git.c:348               trace: built-in: git 'update-ref' '-m' 'WIP on <branch>: <hex_number> <branch> Kept working for a bit' 'refs/stash' '<hex_number>'
Saved working directory and index state WIP on <branch>: <hex_number> <branch> Kept working for a bit
17:04:55.787801 git.c:348               trace: built-in: git 'reset' '--hard'
HEAD is now at <hex_number> <branch> Kept working for a bit

Ich verwende hauptsächlich den SourceTree von Atlassian, aber das Problem besteht auch in der Git-Befehlszeile (auch das von mir gezeigte Protokoll). Unsere Quelle für das Hosten des Codes sind mehrere kostenpflichtige, private Repos auf GitHub.

Gibt es etwas, das ich versuchen kann, um Git-Operationen zu beschleunigen? Es scheint egal zu sein, um welche Operation es sich handelt, sie sind alle langsam.

Mir wurde gesagt, ich solle diese Frage hier im Gegensatz zu Stack Overflow stellen.

Kreuzen Sie Ihre Fragen nicht an. Wenn Sie der Meinung sind, dass Ihre Frage hier besser wäre, fordern Sie die Migration an, indem Sie einen Moderator markieren.

Antworten (2)

Führen Sie git gces gelegentlich aus, um die Dinge zu beschleunigen (wenn Sie es nicht so eingestellt haben, dass es automatisch aktiviert ist)

Ich habe es versucht, es hat nicht geholfen. Tatsächlich schreibe ich dies jetzt, da Git etwas "verstaut" ...
Dies half dramatisch für mich. time git log—one-line -n101,5 Sekunden vorher gemeldet. Danach dauert es 0,23 Sekunden. Danke.

Es stellte sich heraus, dass die Antwort darauf darin bestand, meine WebRoot-Software zu deaktivieren. Sobald dies ausgeschaltet war, beschleunigte git SOFORT auf die erwartete Geschwindigkeit.