June 2014 by Tobias Günther

Switching from Subversion to Git

These days, many Subversion users move to Git. The switch becomes easy once you understand a few core concepts and how they are different between the systems.

Distributed vs. Centralized

Subversion is a centralized version control system: all team members work towards a single central repository, placed on a remote server. A "checkout" from this central repository will place a "working copy" on the user's machine. This is a snapshot from a certain version of the project on his disk.

In Git, a distributed version control system, things work a little differently. Instead of a "checkout", a Git user will "clone" a repository from a remote server. In return, he receives a full-fledged repository, not just a working copy. The user then has his own repository on his local machine - including all of the project's history.
You can do everything on your local machine: commit, inspect history, restore older revisions, etc. Only if you want to share your work with the world you have to connect to a remote server.

Continue reading in our free online book to understand the differences between SVN and Git regarding Repository structures and URLs, Branching, Committing and Sharing work