As pilif said, use "git cherry-pick".  I do that for a web application I'm responsible for.  It needs to support both MySQL and PostgreSQL, and due to a few inconsistencies (mainly, dates and enums) I'm currently maintaining two parallel branches of the application.  If I do a bug fix that isn't database specific, I'll commit to the branch I'm working on, and cherry-pick that change into the other branch.<p>Yes, it's not as clean as I first expected it to be (and I'm working on merging the two into a single branch) but at least it's possible to do that with git.