I'm using git to manage files in a local directory on a windows machine - no network is involved here, I'm not pushing or pulling to/from another machine. My directory has maybe 100 files in it, all test files, pretty small. When I run "git status", it regularly takes 20-30 seconds to complete. Is this normal? Is there anything I can do to speed it up, or a better way to see what the state of my repository is (changed files, untracked files, etc)? Other git commands seem to complete much faster.
Have you tried repacking? git-repack.
Otherwise, try duplicating the directory, and deleting the .git folder in the duplicated directory. Then create a new git directory and see if it's still slow.
If it's still slow, then it sounds like a system or hardware issue. Git finishes status on hundreds of files for me in less than 5 seconds.
Are you using some kind of virus protection software? Maybe that is interfering with things. git
is very fast for me on windows with repositories of 1000's of files.
Try starting with a fresh clone of your checkout.
git clone myrepo mynewrepo
and then do git status in mynewrepo.
Alternatively, and if you are braver, clean out the rubbish from your existing checkout.
git clean -dfx
This avoids git having to scan some (possibly large) set of ignored or not checked-in files.