There are a couple of possible reasons which may result in slower refreshing:

Be sure that you have no local nor staged changes, before doing so!

If you encounter wrong .git/index timestamps frequently, please contact

If an invocation of git status is rather slow, too, you may also want to try the following:

If many of your ignored files are located directly in the out/-directory, following .gitignore line will be efficient:


while this line will be inefficient:


Furthermore, if there is just a single tracked file located in out/ or one of its subdirectories, the ignore-processing will be inefficient.

Many Refs

Large amounts of tags (or branches) may slow down Logs, but also the Working Tree window. You can tell SmartGit to exclude certain tags or remote branches from loading by using Java regular expressions with following options in .git/config:

[smartgit "refLimit"]
    tagIncludeRegEx = smart.*
tagExcludeRegEx = .*-I\\d{8}-\\d{4}
remoteBranchIncludeRegEx =
remoteBranchExcludeRegEx =

If an include regular expression matches the tag/remote branch name, it will be included, no matter whether the excluding pattern matches.

It is recommended to invoke a git pack-refs --all after doing so, to have the changes take effect in SmartGit.


In addition to the above mentioned problems:

If nothing of the above helps, shutdown SmartGit, get rid of all log.txt*-files from the Settings directory (see About dialog), restart SmartGit, capture the slowness and send resulting log.txt*-files to .