SlideShare a Scribd company logo
1 of 30
Download to read offline
Git
An Introduction
K. ARVIND
Overture Networks
December 2013
DRAWS LIBERALLY FROM VARIOUS ONLINE RESOURCES, ESPECIALLY SCOTT CHACON’s EXCELLENT BOOK ON GIT
● What is Git?
● How is Git different?
● Giit conceptual overview
○ Hashes, Repository, Branching
Plan
• Distributed Version Control System
• Linux Community
• 2005
What is Git?
● Single server that contains versioned files
● Clients have version being worked on
● Easy to administer
● Single point of failure
● Need connectivity to commit
● Subversion, CVS, Perforce
Centralized VCS
Distributed VCS
● Every client has the full repository
● Central repository may also be used
● Local commits followed by push
● Fault Tolerant
● Work off-line
Why Git?
● Fast
● Simple
● Branching
● Fully distributed
● Scales well
No Deltas!
Dog ate cable - No problem!
Nearly every operation is local!
Name is a Digest
Git object name = SHA-1 hash of contents
Built-in integrity check
Cryptographic Digest
Commit Hash: Git Bash
SOME PROPRIETARY INFORMATION REDACTED BELOW
Digest “uniqueness” is “real”!
SOME PROPRIETARY INFORMATION REDACTED BELOW
Commit Hash - Gitk
SOME PROPRIETARY INFORMATION REDACTED BELOW
Commit Hash: TortoiseGitSOME PROPRIETARY INFORMATION REDACTED BELOW
Git Objects
Commit History
Git Repository
Git Repository
Git repository
Branch - Pointer to a commit
● HEAD - points to current branch
● master - default branch
No branches added
Add a branch
gitbash> git branch testing f30ab
HEAD still points to master
Switch to branch
gitbash> git checkout testing
HEAD has moved to testing
Commit on branch
testing points to new commit
HEAD still points to testing
Switch back to master branch
gitbash> git checkout master
HEAD points to master now
Commit on master
Diverging branches - need to merge
later
Merge
gitbash> git merge iss53
Preferred alternative: git rebase
Pulling remote branches
Conclusion
● Conceptual overview
● Many key concepts
● Free resources available online for further
study:
● ProGit by Scott Chacon - http://git-scm.com/book
Thank you Scott Chacon!

More Related Content

What's hot

Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsGorav Singal
 
Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Icinga
 
2016 COSCUP ONOS
2016 COSCUP ONOS2016 COSCUP ONOS
2016 COSCUP ONOSYi Tseng
 
MoniTutor
MoniTutorMoniTutor
MoniTutorIcinga
 
Icinga Web 2 at Icinga Camp San Francisco
Icinga Web 2 at Icinga Camp San FranciscoIcinga Web 2 at Icinga Camp San Francisco
Icinga Web 2 at Icinga Camp San FranciscoIcinga
 
proxy2: HTTPS pins and needles
proxy2: HTTPS pins and needlesproxy2: HTTPS pins and needles
proxy2: HTTPS pins and needlesinaz2
 
My internwork
My internworkMy internwork
My internworkV C
 
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...NETWAYS
 
Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014Icinga
 
Nats.io meetup october 2015 - Community Update
Nats.io meetup october 2015 - Community UpdateNats.io meetup october 2015 - Community Update
Nats.io meetup october 2015 - Community UpdateBrian Flannery
 
FIWARE Wednesday Webinars - How to Secure FIWARE Architectures
FIWARE Wednesday Webinars - How to Secure FIWARE ArchitecturesFIWARE Wednesday Webinars - How to Secure FIWARE Architectures
FIWARE Wednesday Webinars - How to Secure FIWARE ArchitecturesFIWARE
 
Icinga 2012 Development at 6th TF-NOC Meeting
Icinga 2012 Development at 6th TF-NOC MeetingIcinga 2012 Development at 6th TF-NOC Meeting
Icinga 2012 Development at 6th TF-NOC MeetingIcinga
 
What is Nagios XI and how is it different from Nagios Core
What is Nagios XI and how is it different from Nagios CoreWhat is Nagios XI and how is it different from Nagios Core
What is Nagios XI and how is it different from Nagios CoreSanjay Willie
 
Icinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 ConfigurationIcinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 ConfigurationIcinga
 
Welcome Icinga Camp San Francisco 2014
Welcome Icinga Camp San Francisco 2014Welcome Icinga Camp San Francisco 2014
Welcome Icinga Camp San Francisco 2014Icinga
 

What's hot (18)

Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levels
 
Concepts of Open source
Concepts of Open source Concepts of Open source
Concepts of Open source
 
Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015Open Source Monitoring with Icinga at Fossasia 2015
Open Source Monitoring with Icinga at Fossasia 2015
 
Quic
QuicQuic
Quic
 
2016 COSCUP ONOS
2016 COSCUP ONOS2016 COSCUP ONOS
2016 COSCUP ONOS
 
MoniTutor
MoniTutorMoniTutor
MoniTutor
 
Icinga Web 2 at Icinga Camp San Francisco
Icinga Web 2 at Icinga Camp San FranciscoIcinga Web 2 at Icinga Camp San Francisco
Icinga Web 2 at Icinga Camp San Francisco
 
proxy2: HTTPS pins and needles
proxy2: HTTPS pins and needlesproxy2: HTTPS pins and needles
proxy2: HTTPS pins and needles
 
My internwork
My internworkMy internwork
My internwork
 
Knockout
KnockoutKnockout
Knockout
 
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...
 
Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014Icinga 1, Icinga 2 @ FrOSCon 2014
Icinga 1, Icinga 2 @ FrOSCon 2014
 
Nats.io meetup october 2015 - Community Update
Nats.io meetup october 2015 - Community UpdateNats.io meetup october 2015 - Community Update
Nats.io meetup october 2015 - Community Update
 
FIWARE Wednesday Webinars - How to Secure FIWARE Architectures
FIWARE Wednesday Webinars - How to Secure FIWARE ArchitecturesFIWARE Wednesday Webinars - How to Secure FIWARE Architectures
FIWARE Wednesday Webinars - How to Secure FIWARE Architectures
 
Icinga 2012 Development at 6th TF-NOC Meeting
Icinga 2012 Development at 6th TF-NOC MeetingIcinga 2012 Development at 6th TF-NOC Meeting
Icinga 2012 Development at 6th TF-NOC Meeting
 
What is Nagios XI and how is it different from Nagios Core
What is Nagios XI and how is it different from Nagios CoreWhat is Nagios XI and how is it different from Nagios Core
What is Nagios XI and how is it different from Nagios Core
 
Icinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 ConfigurationIcinga Camp Antwerp - Icinga2 Configuration
Icinga Camp Antwerp - Icinga2 Configuration
 
Welcome Icinga Camp San Francisco 2014
Welcome Icinga Camp San Francisco 2014Welcome Icinga Camp San Francisco 2014
Welcome Icinga Camp San Francisco 2014
 

Viewers also liked

Git - Intro to the Basics of DVCS
Git - Intro to the Basics of DVCSGit - Intro to the Basics of DVCS
Git - Intro to the Basics of DVCSMatthew McCullough
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for DocumentationAnne Gentle
 
Introduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideIntroduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideRohit Arora
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 

Viewers also liked (6)

Git - Intro to the Basics of DVCS
Git - Intro to the Basics of DVCSGit - Intro to the Basics of DVCS
Git - Intro to the Basics of DVCS
 
Git slide
Git slideGit slide
Git slide
 
Github basics
Github basicsGithub basics
Github basics
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for Documentation
 
Introduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideIntroduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guide
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 

Similar to Git - An Introduction (20)

Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
Introduction to git and stash
Introduction to git and stashIntroduction to git and stash
Introduction to git and stash
 
Git with bitbucket (draft)
Git with bitbucket (draft)Git with bitbucket (draft)
Git with bitbucket (draft)
 
Git SVN Migrate Reasons
Git SVN Migrate ReasonsGit SVN Migrate Reasons
Git SVN Migrate Reasons
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network Engineers
 
Git
GitGit
Git
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git
GitGit
Git
 
Version Controlling With Git
Version Controlling With GitVersion Controlling With Git
Version Controlling With Git
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Lets git to it
Lets git to itLets git to it
Lets git to it
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Git.odp 0
Git.odp 0Git.odp 0
Git.odp 0
 
Enterprise git
Enterprise gitEnterprise git
Enterprise git
 
Basics About Git & GitHub
Basics About Git & GitHubBasics About Git & GitHub
Basics About Git & GitHub
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
6 git
6 git6 git
6 git
 
git and github-1.pptx
git and github-1.pptxgit and github-1.pptx
git and github-1.pptx
 
simple Introduction to git
simple Introduction to gitsimple Introduction to git
simple Introduction to git
 

More from Krishnamoorthy Arvind (6)

Network Function Virtualization Orchestration LI
Network Function Virtualization Orchestration LINetwork Function Virtualization Orchestration LI
Network Function Virtualization Orchestration LI
 
MIB Test Environment
MIB Test EnvironmentMIB Test Environment
MIB Test Environment
 
IIR Geneva 2001 Final
IIR Geneva 2001 FinalIIR Geneva 2001 Final
IIR Geneva 2001 Final
 
IIR VPN London
IIR VPN LondonIIR VPN London
IIR VPN London
 
ODSI Talk
ODSI TalkODSI Talk
ODSI Talk
 
IIR London
IIR LondonIIR London
IIR London
 

Git - An Introduction