Why is there a need for anything beyond "git commit" or "git push" or "git pull" to do anything? Why should I, as a developer, be required to micromanage the revision control mechanism? That's the fundamental point of my previous message. If I have to spend more time getting a commit through to the canonical repo than I do making a change to the code, that suggests to me whatever tool I'm using for revision control is not fit for purpose. If dealing with the common case, of someone committing before you, cannot be automated cleanly by git out of the box, how is it a better tool than the likes of svn?