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

Similar to Getting To Know Git (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

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Recently uploaded (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

Getting To Know Git