SlideShare a Scribd company logo
6
Most read
7
Most read
22
Most read
Version Control & Git


Geoff Ford & Craig Smith
Suncorp
According to
                                                                                    Wikipedia:
                                                                                   “… is the
                                                                                    management of
                                                                                    changes to
                                                                                    documents,
                                                                                    programs, and
                                                                                    other information
                                                                                    stored as
                                                                                    computer files.”
Image: http://i.ehow.com/images/GlobalPhoto/Articles/2065416/dictionary_Full.jpg
Before
                                                                          Version
                                                                          Control
                                                                        File renaming
                                                                            Code.001
                                                                            CodeNov1.xml
                                                                        Directories
                                                                            Nov1Code
                                                                        Zip files
                                                                            Nov1Code.zip
                                                                        Nothing at all
Image: http://www.stud.u-szeged.hu/Sajben.Emma/TW1128-Rock-Stars.jpg
We have
                                                                        moved on…

                                                                         haven’t
                                                                          we?

Image http://yabadabadoo.files.wordpress.com/2008/03/puzzled-fred.jpg
A Brief History




                    • diff                                           • RVS                                                           DVCS
                                                                                                                 Tool
    1970’s          • SCCS
                                                     1980’s          • CVS
                                                                                                      1990’s   Support
                                                                                                                         2000’s   (Bitkeeper,
                                                                                                                                   Git, etc…)




Image http://www.free-background-wallpaper.com/images/Wallpapers1280/Beach-Wallpaper/Sand-Dunes-Soft.jpg
Version
Control is…

   Backup & restore
   Synchronisation
   Undo
   Track changes
   Sandbox / spike
   Branch / merge
   Not just for code

                        Image http://globalnerdy.com/wordpress/wp-content/uploads/2007/10/version_control_star_trek_style.jpg
Check-in
    &
Check-out
Branching
    &
 Merging
Subversion
  Setup



             Image http://blog.daemon.com.au/images/SourceImage/svnstructure.jpg
Version Control
                                                                       Best Practice

                                                                     Use good comments
                                                                     Commit often
                                                                     Single vs multi project repos
                                                                     Branch/tag when appropriate
                                                                     Binaries/large files
                                                                     Respect the trunk
                                                                     Get to know your
                                                                        command line & client
Image http://www.improvizations.com/Portals/42614/images//best-
practice%20checklist-resized-600.jpg
• d




Visualisation: FishEye/SVNStat
Traditonal /
Centralised
  Version
  Control
Distributed
  Version
  Control
Hybrid
 Model
Version
Control
Why Distributed
 Version Control?

 Cheap local branches for
 easy experimenting
 History aware merges
 Full local history
 Offline commits
 Each working copy is a
 complete backup of the
 repository
Example Distributed
   Version Control
        Tools
 Git (2005)
    http://git-scm.com
 Mercurial (2005)
     http://mercurial.selenic.com
 Bazaar (2005)
     http://bazaar-vcs.org
 Darcs (2004)
     http://darcs.net
Git is Fast
Git is Efficient
Git Workflow
Clone
 git clone git://example.com/repo.git
Working Branch
 git checkout -b new-feature
Commit
 git add .
 git commit -m “Commit Message”
Rebase & Merge
 git rebase master
 git checkout master
 git merge new-feature
Push
 git push origin
Git + SVN Workflow
Clone
 git svn clone http://example.com/repo
Working Branch
 git checkout -b new-feature
Commit
 git add .
 git commit -m “Commit Message”
Rebase & Merge
 git rebase master
 git checkout master
 git merge new-feature
Push to SVN
 git dcommit
Repository Many Branches
Many Branches + Merges
Live
Demo
Want More Information?
Geoff Ford
geoff.ford@suncorp.com.au
Craig Smith
craig.smith@suncorp.com.au

References:
 http://www.spearce.org/2007/07/difficult-gitk-
   graphs.html
 http://www.infoq.com/articles/dvcs-guide
 http://ldn.linuxfoundation.org/article/dvcs-round-one-
   system-rule-them-all-part-3
 http://gaveen.owain.org/2008/05/simple-diagram-on-
   distributed-vcs-hint.html
 http://betterexplained.com/articles/a-visual-guide-to-
   version-control/
 http://en.wikipedia.org/wiki/Revision_control

More Related Content

PDF
Git 101: Git and GitHub for Beginners
PDF
Introduction to Git Version Control System
PPTX
DevOps: Age Of CI/CD
PPTX
Introduction to git & GitHub
DOCX
technical proposal for implementing odoo enterprise ver 13
PPTX
Integrated Development Environments (IDE)
PPTX
GIT AND GITHUB (1).pptx
PPTX
Tensor Processing Unit (TPU)
Git 101: Git and GitHub for Beginners
Introduction to Git Version Control System
DevOps: Age Of CI/CD
Introduction to git & GitHub
technical proposal for implementing odoo enterprise ver 13
Integrated Development Environments (IDE)
GIT AND GITHUB (1).pptx
Tensor Processing Unit (TPU)

What's hot (20)

ODP
Introduction to Version Control
PPTX
Version control
KEY
Introduction To Git
PPTX
Introduction git
PDF
Git Version Control System
PDF
Docker 101: Introduction to Docker
PDF
Git training v10
PPTX
Git - Basic Crash Course
PPTX
PPTX
Github basics
PPT
Monitoring using Prometheus and Grafana
PPTX
GitLab.pptx
PPTX
Terraform Basics
PPTX
Docker containers intro
PDF
Git - An Introduction
PPTX
Git and GitHub
PPTX
Monitoring With Prometheus
PPTX
Introduction to github slideshare
PPTX
Introduction to Gitlab | Gitlab 101 | Training Session
PPTX
Version control system and Git
Introduction to Version Control
Version control
Introduction To Git
Introduction git
Git Version Control System
Docker 101: Introduction to Docker
Git training v10
Git - Basic Crash Course
Github basics
Monitoring using Prometheus and Grafana
GitLab.pptx
Terraform Basics
Docker containers intro
Git - An Introduction
Git and GitHub
Monitoring With Prometheus
Introduction to github slideshare
Introduction to Gitlab | Gitlab 101 | Training Session
Version control system and Git
Ad

Viewers also liked (20)

PDF
What is version control software and why do you need it?
PDF
Quick Introduction to git
PDF
A brief introduction to version control systems
PPT
Git 101 - Crash Course in Version Control using Git
PDF
Version Control with SVN
PPTX
Introduction to Git/Github - A beginner's guide
PDF
Git Branching Model
PPT
State of the Art: Methods and Tools for Archival Processing Metrics
PDF
Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010
PDF
Versioning for Developers
PDF
Git Version Control System
DOC
Tour Thái Lan 4N3D 4tr999 tại tugo.com.vn
ODP
Git How Does That Work Then
PDF
Git in gear: How to track changes, travel back in time, and code nicely with ...
PPTX
Controle de versão
PPTX
Controle de versão - GIT
PPTX
GIT Fundamentals
PDF
Git in 5 Minutes
PPTX
Git - Controle de Versão Inteligente
What is version control software and why do you need it?
Quick Introduction to git
A brief introduction to version control systems
Git 101 - Crash Course in Version Control using Git
Version Control with SVN
Introduction to Git/Github - A beginner's guide
Git Branching Model
State of the Art: Methods and Tools for Archival Processing Metrics
Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010
Versioning for Developers
Git Version Control System
Tour Thái Lan 4N3D 4tr999 tại tugo.com.vn
Git How Does That Work Then
Git in gear: How to track changes, travel back in time, and code nicely with ...
Controle de versão
Controle de versão - GIT
GIT Fundamentals
Git in 5 Minutes
Git - Controle de Versão Inteligente
Ad

Similar to Version Control & Git (20)

PDF
fiwalk With Me: Building Emergent Pre-Ingest Workflows for Digital Archival R...
PPTX
Cloud Foundry Open Tour - London
PDF
Configuration Management and Transforming Legacy Applications in the Enterpri...
PPT
Maven introduction in Mule
PDF
Digital Forensics for Digital Archives
PDF
Cloud Native Computing - Part III - Containers
PPT
PPT
PPTX
Mercurial - Distributed Version Controlling
PPT
Maven in Mule
PDF
RSA conference poster on Docker container security
PDF
KubeCon 2017: Kubernetes from Dev to Prod
PDF
Maven 3 Overview
PDF
Deployment Tactics
PDF
Cloud Foundry Anniversary: Technical Slides
PPT
Oaf development-guide
PPTX
ITECH Kenya presentation on OpenMRS Developers Forum
PDF
Ibm data stage implementing etl solution using ibm datastage
PDF
Datastage coursecontent
PDF
Stairway to heaven webinar
fiwalk With Me: Building Emergent Pre-Ingest Workflows for Digital Archival R...
Cloud Foundry Open Tour - London
Configuration Management and Transforming Legacy Applications in the Enterpri...
Maven introduction in Mule
Digital Forensics for Digital Archives
Cloud Native Computing - Part III - Containers
Mercurial - Distributed Version Controlling
Maven in Mule
RSA conference poster on Docker container security
KubeCon 2017: Kubernetes from Dev to Prod
Maven 3 Overview
Deployment Tactics
Cloud Foundry Anniversary: Technical Slides
Oaf development-guide
ITECH Kenya presentation on OpenMRS Developers Forum
Ibm data stage implementing etl solution using ibm datastage
Datastage coursecontent
Stairway to heaven webinar

More from Craig Smith (20)

PDF
40 Agile Methods in 40 Minutes
PDF
Code of Ethical Conduct for Agile Coaching
PDF
Public Sector Agility Accelerator
PDF
Rethinking Retrospectives: Beyond the Three Columns
PDF
Agile Coaching Ethics - The Powerful Questions Behind What, Why & How
PDF
Public Sector Agility Accelerator
PDF
Public Sector Agility Accelerator
PDF
Agility Accelerator
PDF
FailAgility: Recognising and Resetting the Agile Boundaries
PDF
Mind the Gap: Realising the Value of Agility
PDF
Mind the Gap: Realising the Value of Agility
PDF
40 Agile Methods in 40 Minutes
PDF
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
PDF
Agile 2008 Retrospective
PDF
Technical Lessons Learned Turning the Agile Dials to Eleven!
PDF
Agile Project Experiences - The Story of Three Little Pigs
PDF
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
PDF
Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
PDF
Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
PDF
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
Code of Ethical Conduct for Agile Coaching
Public Sector Agility Accelerator
Rethinking Retrospectives: Beyond the Three Columns
Agile Coaching Ethics - The Powerful Questions Behind What, Why & How
Public Sector Agility Accelerator
Public Sector Agility Accelerator
Agility Accelerator
FailAgility: Recognising and Resetting the Agile Boundaries
Mind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of Agility
40 Agile Methods in 40 Minutes
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile 2008 Retrospective
Technical Lessons Learned Turning the Agile Dials to Eleven!
Agile Project Experiences - The Story of Three Little Pigs
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
40 Agile Methods in 40 Minutes

Recently uploaded (20)

PPTX
A Presentation on Artificial Intelligence
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Approach and Philosophy of On baking technology
PDF
Unlocking AI with Model Context Protocol (MCP)
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
A Presentation on Artificial Intelligence
Chapter 3 Spatial Domain Image Processing.pdf
NewMind AI Monthly Chronicles - July 2025
Understanding_Digital_Forensics_Presentation.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
Diabetes mellitus diagnosis method based random forest with bat algorithm
Review of recent advances in non-invasive hemoglobin estimation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
“AI and Expert System Decision Support & Business Intelligence Systems”
Approach and Philosophy of On baking technology
Unlocking AI with Model Context Protocol (MCP)
The AUB Centre for AI in Media Proposal.docx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Per capita expenditure prediction using model stacking based on satellite ima...
Machine learning based COVID-19 study performance prediction
Digital-Transformation-Roadmap-for-Companies.pptx
20250228 LYD VKU AI Blended-Learning.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Version Control & Git

  • 1. Version Control & Git Geoff Ford & Craig Smith Suncorp
  • 2. According to Wikipedia: “… is the management of changes to documents, programs, and other information stored as computer files.” Image: http://i.ehow.com/images/GlobalPhoto/Articles/2065416/dictionary_Full.jpg
  • 3. Before Version Control  File renaming Code.001 CodeNov1.xml  Directories Nov1Code  Zip files Nov1Code.zip  Nothing at all Image: http://www.stud.u-szeged.hu/Sajben.Emma/TW1128-Rock-Stars.jpg
  • 4. We have moved on… haven’t we? Image http://yabadabadoo.files.wordpress.com/2008/03/puzzled-fred.jpg
  • 5. A Brief History • diff • RVS DVCS Tool 1970’s • SCCS 1980’s • CVS 1990’s Support 2000’s (Bitkeeper, Git, etc…) Image http://www.free-background-wallpaper.com/images/Wallpapers1280/Beach-Wallpaper/Sand-Dunes-Soft.jpg
  • 6. Version Control is…  Backup & restore  Synchronisation  Undo  Track changes  Sandbox / spike  Branch / merge  Not just for code Image http://globalnerdy.com/wordpress/wp-content/uploads/2007/10/version_control_star_trek_style.jpg
  • 7. Check-in & Check-out
  • 8. Branching & Merging
  • 9. Subversion Setup Image http://blog.daemon.com.au/images/SourceImage/svnstructure.jpg
  • 10. Version Control Best Practice  Use good comments  Commit often  Single vs multi project repos  Branch/tag when appropriate  Binaries/large files  Respect the trunk  Get to know your command line & client Image http://www.improvizations.com/Portals/42614/images//best- practice%20checklist-resized-600.jpg
  • 12. Traditonal / Centralised Version Control
  • 15. Why Distributed Version Control?  Cheap local branches for easy experimenting  History aware merges  Full local history  Offline commits  Each working copy is a complete backup of the repository
  • 16. Example Distributed Version Control Tools  Git (2005) http://git-scm.com  Mercurial (2005) http://mercurial.selenic.com  Bazaar (2005) http://bazaar-vcs.org  Darcs (2004) http://darcs.net
  • 19. Git Workflow Clone git clone git://example.com/repo.git Working Branch git checkout -b new-feature Commit git add . git commit -m “Commit Message” Rebase & Merge git rebase master git checkout master git merge new-feature Push git push origin
  • 20. Git + SVN Workflow Clone git svn clone http://example.com/repo Working Branch git checkout -b new-feature Commit git add . git commit -m “Commit Message” Rebase & Merge git rebase master git checkout master git merge new-feature Push to SVN git dcommit
  • 22. Many Branches + Merges
  • 24. Want More Information? Geoff Ford geoff.ford@suncorp.com.au Craig Smith craig.smith@suncorp.com.au References:  http://www.spearce.org/2007/07/difficult-gitk- graphs.html  http://www.infoq.com/articles/dvcs-guide  http://ldn.linuxfoundation.org/article/dvcs-round-one- system-rule-them-all-part-3  http://gaveen.owain.org/2008/05/simple-diagram-on- distributed-vcs-hint.html  http://betterexplained.com/articles/a-visual-guide-to- version-control/  http://en.wikipedia.org/wiki/Revision_control