SlideShare a Scribd company logo
1 of 32
Chicago, October 19 - 22, 2010
Getting to know Git
Colin Harrington – Object Partners
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
whoami
Colin Harrington
Senior Consultant
@ColinHarrington
colin.harrington@gmail.com
colin.harrington@objectpartners.com
What is Git?
Git is a free & open source, distributed version
control system designed to handle everything from
small to very large projects with speed and efficiency.
Every Git clone is a full-fledged repository with
complete history and full revision tracking capabilities,
not dependent on network access or a central server.
Branching and merging are fast and easy to do.
– http://git-scm.com/
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Why Git?
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Why Git?
http://github.com/grails/
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Git != SVN
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Centralized VCS
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Decentralized / Distributed VCS
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Git – SVN Crash Course
http://git-scm.com/course/svn.html
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Mind << git basics
start brand new repository:
git init
clone an existing repository:
git clone <git­url>
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Demo
Mind << git basics
git init
git add .
git commit
git init
git add .
git commit
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Mind << git fundamentals
`
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Mind << git fundamentals
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Mind << git fundamentals
SHA hashes
Authorship preservation
Tree Structure!
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Mind << git fundamentals
http://book.git-scm.com/1_the_git_object_model.html
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Porcelain vs Plumbing
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Porcelain vs Plumbing
init
log
rebase
merge
commit
add
checkout
revert
pack
pull
push
status
bisect
clone
diff
grep
tag
branch
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Mind << branch
git branch
git branch ­a
git checkout ­b <branchName>
git checkout <existingBranchName>
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Mind << merge
git merge <branch>
git merge <branch> ­­no­commit
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Mind << clone
git clone <url>
Similar to svn checkout
Clones the entire repository!
Adds a remote
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Mind << remotes
git branch ­r
git branch ­­track <branch> 
<remote­branch>
git branch ­r ­d <remote­branch>
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Mind << working with remotes
Index
Local
Repository
Remote
Repository
Push
Pull
Files on drive
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Demo
Mind << git-svn
clone an entire SVN repository!
git svn clone ­s <url>
git svn clone ­s ­r 1234 <url>
… without -s, etc.
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Mind << git-svn
git svn rebase
→ rebases the current branch on the remote-tracked
svn branch (trunk or branches)
git svn fetch
→ fetches changes from svn
Checkout a remote branch
Keep the original branches clean!!
Stash, rebase, dcommit, and do it again!
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Give Back to Grails
http://grails.org/contribute
http://grails.org/Creating+Patches+From+Git
http://grails.org/GitHub+Forking+and+Pull+Requests
http://jira.codehaus.org/browse/GRAILS
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Demo
Resources
http://www.sourcemage.org/Git_Guide
http://git.or.cz/course/svn.html
http://www.youtube.com/watch?v=4XpnKHJAok8
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
http://www.kernel.org/pub/software/scm/git/docs/everyday.html
http://book.git-scm.com/
http://whygitisbetterthanx.com/
http://cheat.errtheblog.com/s/git
http://progit.org/book/
http://refcardz.dzone.com/refcardz/getting-started-git
http://bit.ly/avGDTz
… many more valuable resources out there!
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Q&A
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.
Thank you!
Credits

Git logo :: by azizash :: http://azizash.deviantart.com/art/GIT-Logo-95183398

Grails logo :: http://grails.org/Brand

Perl logo :: Criado por O'Reilly :: http://commons.wikimedia.org/wiki/File:Perl.jpg

VLC logo :: illustration (and iteration) by Richard C. G. Øiestad. GNU GPL by Video LAN

Rails logo :: KSEltar :: http://commons.wikimedia.org/wiki/File:Ruby_on_Rails_logo.svg

jQuery logo :: http://commons.wikimedia.org/wiki/File:Logo_jquery_215x53.gif

Linux logo :: gg3po (kde-look.org source) :: http://commons.wikimedia.org/wiki/File:NewTux.svg

Eclipse logo :: http://www.eclipse.org/artwork/

Android logo :: Google and Android's developpers :: http://commons.wikimedia.org/wiki/File:Android_robot.svg
SpringOne 2GX 2010. All rights reserved. Do not distribute without permission.

More Related Content

What's hot

Git Introduction
Git IntroductionGit Introduction
Git IntroductionGareth Hall
 
Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015mwrather
 
Introduction to GIT versioning
Introduction to GIT versioningIntroduction to GIT versioning
Introduction to GIT versioningStackit Community
 
GIT - DUG Antwerp
GIT - DUG AntwerpGIT - DUG Antwerp
GIT - DUG AntwerpKrimson
 
Mahara UK 2011 Technical Day - Git for Mahara
Mahara UK 2011 Technical Day - Git for MaharaMahara UK 2011 Technical Day - Git for Mahara
Mahara UK 2011 Technical Day - Git for MaharaAndrew Nicols
 
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a BossGit Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Bosstmacwilliam
 
git入門取得編
git入門取得編git入門取得編
git入門取得編yuzu
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - GitCarlo Bernaschina
 
Getting started With GIT
Getting started With GITGetting started With GIT
Getting started With GITGhadiAlGhosh
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to GitColin Su
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHubNicolás Tourné
 

What's hot (20)

Git Introduction
Git IntroductionGit Introduction
Git Introduction
 
Git advanced
Git advancedGit advanced
Git advanced
 
Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015
 
Introduction to GIT versioning
Introduction to GIT versioningIntroduction to GIT versioning
Introduction to GIT versioning
 
GIT - DUG Antwerp
GIT - DUG AntwerpGIT - DUG Antwerp
GIT - DUG Antwerp
 
Presentacion git
Presentacion gitPresentacion git
Presentacion git
 
Mahara UK 2011 Technical Day - Git for Mahara
Mahara UK 2011 Technical Day - Git for MaharaMahara UK 2011 Technical Day - Git for Mahara
Mahara UK 2011 Technical Day - Git for Mahara
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a BossGit Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Boss
 
Open source
Open sourceOpen source
Open source
 
git入門取得編
git入門取得編git入門取得編
git入門取得編
 
Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - Git
 
Git kelvin
Git   kelvinGit   kelvin
Git kelvin
 
Getting started With GIT
Getting started With GITGetting started With GIT
Getting started With GIT
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git 101
Git 101Git 101
Git 101
 
Magie di git
Magie di gitMagie di git
Magie di git
 
Advanced Git
Advanced GitAdvanced Git
Advanced Git
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 

Similar to Getting to know Git at SpringOne 2GX 2010

Similar to Getting to know Git at SpringOne 2GX 2010 (20)

Introduction to Git for Artists
Introduction to Git for ArtistsIntroduction to Git for Artists
Introduction to Git for Artists
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
 
Git and Github workshop
Git and Github workshopGit and Github workshop
Git and Github workshop
 
Git from the trenches
Git from the trenchesGit from the trenches
Git from the trenches
 
Git presentation
Git presentationGit presentation
Git presentation
 
Git github
Git githubGit github
Git github
 
Github By Nyros Developer
Github By Nyros DeveloperGithub By Nyros Developer
Github By Nyros Developer
 
3 Git
3 Git3 Git
3 Git
 
GIT from n00b
GIT from n00bGIT from n00b
GIT from n00b
 
Intro to Git
Intro to GitIntro to Git
Intro to Git
 
Thinking in Git
Thinking in GitThinking in Git
Thinking in Git
 
Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)
 
Git Ninja KT (GitHub to GitLab)
Git Ninja KT (GitHub to GitLab)Git Ninja KT (GitHub to GitLab)
Git Ninja KT (GitHub to GitLab)
 
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern DeveloperGit and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern Developer
 
Git training
Git trainingGit training
Git training
 
Wokshop de Git
Wokshop de Git Wokshop de Git
Wokshop de Git
 
GitHub Event.pptx
GitHub Event.pptxGitHub Event.pptx
GitHub Event.pptx
 
Introduction to Git.pptx
Introduction to Git.pptxIntroduction to Git.pptx
Introduction to Git.pptx
 
Git
GitGit
Git
 

Recently uploaded

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Recently uploaded (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

Getting to know Git at SpringOne 2GX 2010