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.
Führen Sie git gc
es gelegentlich aus, um die Dinge zu beschleunigen (wenn Sie es nicht so eingestellt haben, dass es automatisch aktiviert ist)
time git log—one-line -n10
1,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.
grg