> I want to add a feature or fix a bug but I want to share the changes upstream or with other people that may find it actually useful.
I fixed a bug for my own environment. These changes may break everyone else and so no body should probably use this fork.
I want to lock a version of a project away in a safe place that I know won’t change or break later and may use it as a point to send changes back up later. (This partially due to some design issues with git submodules.)
I want to experiment. My changes are probably interesting but not ready for primetime, but if it works out it maybe come something fruitful.
Isn't that what "branches" are for?