Redeux: you understand it right. The main advantage of DCVS as I see it is
cheap branching. This means you can use branches in many situations where
you normally wouldn't have in CVCS. For example, I create a new branch for
most of the tasks that I work on - new features, bugs, refactorings - all
except the most trivial changes. The advantage this gives me is the ability
to switch between different tasks very painlessly. If my boss tells me to
drop everything I am doing to work on a top priority bug, I can just commit
everything I have for the current task and leave it undone for now, switch
to `master`, and create another new branch for fixing the priority bug.
When you look at it from this perspective, your local repo contains a number
of outstanding tasks(as branches). It's when you get done with a task, that
you should push the resulting commits to a central repo.
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To view this discussion on the web visit
To post to this group, send email to email@example.com.
To unsubscribe from this group, send email to
For more options, visit this group at