Git is a distributed version control system. Many large projects use Git for managing their codebase, such as the Linux Kernel or Gnome . The key difference to a non-distributed version control such as Subversion is that a commit in Git is done locally, which means you have all the versions locally. To “commit” it to a remote repository, you need to “push” it. Although Git has all the version information locally, it often uses less space than Subversion. You can use Git offline, while with Subversion, for all the operations you have to be online.
Git is efficient for handling large projects. Although my projects are not large at all, I decided to try Git. Since I use Eclipse, an Eclipse plugin for Git is essential because switching to the console is cumbersome. While for Subversion, there are 2 plugins: Subclipse and Subversive with all the nice features you can think of: revision graphs, graphical merge tools, ... For Git, there is EGit, which seems to be a plugin at an early stage and misses some important features (I tried version 0.8.0.201005021513). While with subversion, commit and update works with a couple of clicks, with EGit a commit/push needs more clicks. Especially for the push, there is room for improvement, e.g., filling the form with the last entered URI. However, the pull, which is basically a fetch/merge is not there yet. You can fetch the latest data from a repository, but there is no support for merging in EGit, so I had to use the command line.
Nevertheless, I’ll stick with Git/EGit and see how it goes.