Git-R-Done

An Intoduction To Git

Why Use Source Control?

Track File Changes

The Only Naming Convention That Works

*Doghouse Diaries

Collaborate With Others

Dilbert - Collaboration

*Dilbert

About Git

Background

  • Created by Linus Torvalds
  • Open Source (GPL v2)
  • Used by:
    • Linux Kernel
    • Google
    • Facebook
    • Microsoft
    • Twitter
    • etc.

Features

Easy branching and merging


$ git checkout -b new-feature
	...
$ git checkout master
$ git merge new-feature
							

Small And Fast

  • Written in C
  • All operations preformed locally
Git Speed

Results in seconds
*About Git

Distributed

“Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it ;)” — Linus Torvalds

Centralized vs Distributed

SVN Collaboration

*Atlassian Git Tutorial

Git Collaboration

*Atlassian Git Tutorial

Data Assurance

  • Every file and commit is checksummed
  • Files and commits are retrieved by their checksum
    • SVN Log
    • 
      r102 | john | 2015-02-02 12:26:37 -0700 (Mon, 02 Feb 2015) | 7 lines
      
      Added new feature.
      								
    • Git Log
    • 
      commit 3ee4732bb9941d0013343151bd32a2cd8c6523b5
      Author:  John Doe <john@example.com>
      Date:    Mon Feb 02 12:26:37 2015 -0700
      
      Add new feature.
      								

Staging Area

Git staging

*About Git

Staging Area - Shortcut

Git staging shortcut

*About Git

SVN Support


$ git svn clone svn+ssh://svn.example.com/svn/project
						

Tutorial

Resources