About 2 months ago, I had a short git session with Kamal and he shared with me the idea of story/branch. And as my team started to grow with more dev guys, I feel the need of encouraging more branching and now this has become a rule. For a project with automated tests defined with CI set up, a stable trunk is guaranteed and this practice can fit very well into it.
We don't use git but Subversion because that's how we started and we are still comfortable with it now (most of the time).
If you have a working copy on trunk, here're some simple steps to switch to a branch (svn switch won't work):
svn cp https://repo/trunk https://repo/branches/module-version-storyname
svn diff > /tmp/diff
svn co https://repo/branches/module-version-storyname
patch -p0 < /tmp/diff