One simple thing I can think of is to see if you can configure SourceTree with different views - one to only show the active branch and the other to show all branches.
EDIT: This will still show you all branches that have been merged into the active branch. If you have a lot of old branches in the active branch view, I would question the need for you to keep them anyway. Git does record all commits that lead to your active branch, including merges. Therefore, if the reason you want to keep your old branches around is to see where a bug was introduced, then you're in luck. Just delete all those branches and use git bisect
. However, if the reason you want them around is to mark releases, then I would suggest you check out git flow.
The reason I suggest this is that the number of branches is not a problem to git, but to you. If those old branches were to disappear from your view of your repository, they wouldn't bother you. They will not slow down git in any way. The fact that you also want to archive them tells me that you may want to come back and look at them. So just switch between two views of your repository.
I have not used SourceTree extensively, so I don't know if it supports different views. I know gitk does : gitk
and gitk --all
. I would expect SourceTree to do the same.
Hope this helps.