Introduction to Git
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:
Tutorials and Documentations
- The Git Community Book – The community book, available online and as a PDF
- tryGit – Learn Git interactive in the browser
- Git Immersion – Beautifully designed Guided Tour through the basics of Git
- git – the simple guide – Git in a nutshell (on a long page)
- Official Git Tutorial
- SVN Crash Course – A crash course for people who already know SVN
- Effectively Using Git With Subversion – A good introduction on how to use Subversion (SVN) with Git
- Git Ready – Short git tips for beginners, advanced and professionals
- Sei (k)ein Blödmann und nimm Git: Einführung in Versionskontrolle mit Git – my German presentation about Git
Instructions with More Detail
- Intro to Distributed Version Control (Illustrated) – Detailed, illustrated explanation of distributive version control
- Git for Computer Scientists – A quick introduction to the technical details in Git
- Git User’s Manual – The Official User Guide
- Git Magic – An alternative book
- The GitHub Guides – GitHub tips and tutorials
- An Illustrated Guide to Git on Windows – Step-by-step guide for Windows users
- vss2git – A Windows GUI that exports an existing Microsoft Visual SourceSafe 6.0 (VSS) repository to a new Git repository.
Videos and Screencasts
- Official Git Screencasts
- Google Tech Talk: Linus Torvalds on git – Linus Torvalds presents Git at Google
- Google Tech Talk: Git – Randal Schwartz introduces Git for an hour
- Git the basics – Bart Trojanowski introduces Git (2 parts)
- 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
- Git for Windows – A Windows Git GUI
- Git Extensions – A sleek Windows Git GUI, with 5 screencasts to use
- TortoiseGit – Git as a Windows Explorer shell extension
- SmartGit – Commercial solution for Windows, Mac OS X and Linux
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, 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, the work is at least easier.