Your basically right: With DCVS you have a two step procedure for sharing
changes with other coders.
I think, however, that this is actually an advantage. Having these two steps
separate loosens the activity of coding/commiting, with the second phase of
actually integrating with others. You can of course integrate (push) after
every commit like you say, but I find it to be a healthy separation of
activities. I do a lot of local commits while I'm working, and push later
on. In one day, I maybe have 10 commits, but I only push twice.
Knowing that I don't have to integrate after every commit actually allows me
to work faster. Being able to tidy up the commits before I push them also
makes my code history cleaner.
It's a bit hard to understand this before you've worked with Git for a
while. So the best way to understand it is to just start using it :)
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 firstname.lastname@example.org.
To unsubscribe from this group, send email to
For more options, visit this group at