I migrated our CVS repository a while back to git, by first converting to subversion and then to git. This worked well when using the right tooling for it.
See Most robust way to convert a CVS repository containing Eclipse projects to git?
Also, when done, test rigoriously.
Regarding git branching, that is not the smart part. The advantage come when you need to merge branches.