Git already has `git branch` which doesn't in fact do any kind of branching but creates a label which follows commits when it's checked out.
http://bryan-murdock.blogspot.com/2013/06/git-branches-are-n...
For example, I consider that CSV and Subversion don't have branches, but just "copies". To my mind, what git branch does is exactly what branching is.