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 Introduction
Gareth Hall
 

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

3 Git
3 Git3 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

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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 New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Getting To Know Git