Tuesday, October 28, 2014

Introduction to GIT

This week at CodeRage 9 I will be presenting.  "Introduction to Distributed Version Control"

My session covers the basics of how a Distributed Version Control System works.   I focus is on GIT but it applies to Mercurial - Hg.

Here is a link to the slides I used for the first 10 minutes of the presentation.

I used 3 clients in the Demo.

I highly recommend learning the command line tools,   there are two great demos for GIT available that I reference in the presentation.

What I don't cover heavily in the introduction is branching.  Understanding this allows you to really leverage the power of Distributed Version Control.  Atlassian has a great tutorial on GIT but the best part of this document is how it compares the various workflows you could use with GIT.

If your coming from SVN and moving to GIT I created this cheat sheet to remember the common commands.

Another thing I wanted to cover but did not have time was options when it comes to hosting your git repositories that I have used.

Public and Private Repositories outside your firewall:

  • GitHub
    Great visibility for open source projects.
    Priced per Private Repository, with unlimited users.
    Public Repositories are free.
  • BitBucket
    Good Visibility for open source projects
    Priced per user, with unlimited repositories.  5 and under users are Free.
    Public Repository with unlimited users are free.
I have found that I create several small repositories,  and the pricing for BitBucket works well for that.      So I tend to put my private repositories on BitBucket and my Public Repositories on GitHub.

There are several products that are designed for behind the firewall.  I have only used the free Bonobo Git Server.    Really want to switch to Stash, but I have to wait right now due to budget limits.