Introduction to Git as a Version Control System

Stefan Imhoff

I have been using the Git version control system for almost one and a half years and am thrilled every day. Even at my employer, switching from Subversion to Git seems close at hand.

At home there are almost only Git repositories on my hard drive, and I can not imagine working without Git anymore. Git has improved a lot over the last year and a lot of additional software, documentation and films have been released for Git.

I replace the now obsolete article of 2007 with a large list of helpful links to Git:

Official Website

Tutorials and Documentations

Short Instructions

Instructions with More Detail

References

Videos and Screencasts

Git Hosting

  • GitHub - Free public repositories up to 100 300 MB, or commercial larger offers
  • Bitbucket - Free public and private repositories for up to 5 developers

Software

MacOS

  • Gity - Git-GUI with many features in the Snow Leopard style (now under OpenSource!)
  • GitX - Chic Git GUI for Mac OS X.
  • ProjectPlus - TextMate plug-in, the Git, Mercurial, Bazaar and SVN status flags supported
  • Git TextMate bundle - TextMate bundle

Windows

Conclusion

There's no reason now to not switch to Git, and any ridiculous argument against Git can be casually refuted. Although there are still a lot of subversion repositories, but even these can be cloned without problems thanks to git-svn (which is installed with Git).

Subversion and Git (Mercurial, Bazaar, …) are not really possible to be compared, because their approach is quite different. With Git you can work in the same way (central repository) as with Subversion, but you also have the possibility to work distributed and to use the many fantastic possibilities of Git (local branches, offline work, hardly any server load, small file size, …).

If Subversion is still used in your company and it does not work to introduce Git (despite Git's clear, business benefits), then just use git-svn for a transitional period (people will not even know). Although not all options are available from Git, but the work is at least easier.