Distributed Version Control vs. Centralized Version Control

The main difference between distributed and centralized version control systems is that when you commit, you are committing to your local copy of the repository—effectively, to your own branch. In order to share your changes with others, there is an additional set of steps you need to perform. To do this, DVCSs have two new operations: pulling changes from a remote repository and pushing changes to it.

Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble; David Farley

For example, here is a typical workflow on Bazaar:

  1. bzr pull —Get the latest updates from the remote repository.
  2. Write some code.
  3. bzr commit —Save your changes to your local repository
  4. bzr pull —Get any new updates from the remote repository.
  5. bzr merge —This will update your local working copy with the results of the merge, but will not check in the merge.
  6. bzr commit —This checks in the merge to your local repository.
  7. bzr push —Push your updates to the remote repository.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s