SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Simplilearn
 

Was ist angesagt? (20)

Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
 
Github basics
Github basicsGithub basics
Github basics
 
Version control
Version controlVersion control
Version control
 
Version Control System
Version Control SystemVersion Control System
Version Control System
 
Git basic
Git basicGit basic
Git basic
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
 
Git101
Git101Git101
Git101
 
Understanding GIT and Version Control
Understanding GIT and Version ControlUnderstanding GIT and Version Control
Understanding GIT and Version Control
 
Introduction to git and github
Introduction to git and githubIntroduction to git and github
Introduction to git and github
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control System
 
Introduction git
Introduction gitIntroduction git
Introduction git
 
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
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
GitHub Presentation
GitHub PresentationGitHub Presentation
GitHub Presentation
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
 

Andere mochten auch

Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick Introduction to git
Joel Krebs
 
Git in gear: How to track changes, travel back in time, and code nicely with ...
Git in gear: How to track changes, travel back in time, and code nicely with ...Git in gear: How to track changes, travel back in time, and code nicely with ...
Git in gear: How to track changes, travel back in time, and code nicely with ...
fureigh
 
Controle de versão
Controle de versãoControle de versão
Controle de versão
Zé Pereira
 

Andere mochten auch (20)

What is version control software and why do you need it?
What is version control software and why do you need it?What is version control software and why do you need it?
What is version control software and why do you need it?
 
Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick Introduction to git
 
A brief introduction to version control systems
A brief introduction to version control systemsA brief introduction to version control systems
A brief introduction to version control systems
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
 
Version Control with SVN
Version Control with SVNVersion Control with SVN
Version Control with SVN
 
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 Branching Model
Git Branching ModelGit Branching Model
Git Branching Model
 
State of the Art: Methods and Tools for Archival Processing Metrics
State of the Art: Methods and Tools for Archival Processing MetricsState of the Art: Methods and Tools for Archival Processing Metrics
State of the Art: Methods and Tools for Archival Processing Metrics
 
Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010
Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010
Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010
 
Versioning for Developers
Versioning for DevelopersVersioning for Developers
Versioning for Developers
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
 
Tour Thái Lan 4N3D 4tr999 tại tugo.com.vn
Tour Thái Lan 4N3D 4tr999 tại tugo.com.vnTour Thái Lan 4N3D 4tr999 tại tugo.com.vn
Tour Thái Lan 4N3D 4tr999 tại tugo.com.vn
 
Git
GitGit
Git
 
Git How Does That Work Then
Git How Does That Work ThenGit How Does That Work Then
Git How Does That Work Then
 
Git in gear: How to track changes, travel back in time, and code nicely with ...
Git in gear: How to track changes, travel back in time, and code nicely with ...Git in gear: How to track changes, travel back in time, and code nicely with ...
Git in gear: How to track changes, travel back in time, and code nicely with ...
 
Controle de versão
Controle de versãoControle de versão
Controle de versão
 
Controle de versão - GIT
Controle de versão - GITControle de versão - GIT
Controle de versão - GIT
 
GIT Fundamentals
GIT FundamentalsGIT Fundamentals
GIT Fundamentals
 
Git in 5 Minutes
Git in 5 MinutesGit in 5 Minutes
Git in 5 Minutes
 
Git - Controle de Versão Inteligente
Git - Controle de Versão InteligenteGit - Controle de Versão Inteligente
Git - Controle de Versão Inteligente
 

Ähnlich wie Version Control & Git

fiwalk With Me: Building Emergent Pre-Ingest Workflows for Digital Archival R...
fiwalk With Me: Building Emergent Pre-Ingest Workflows for Digital Archival R...fiwalk With Me: Building Emergent Pre-Ingest Workflows for Digital Archival R...
fiwalk With Me: Building Emergent Pre-Ingest Workflows for Digital Archival R...
Mark Matienzo
 
Oaf development-guide
Oaf development-guideOaf development-guide
Oaf development-guide
俊 朱
 
ITECH Kenya presentation on OpenMRS Developers Forum
ITECH Kenya presentation on OpenMRS Developers ForumITECH Kenya presentation on OpenMRS Developers Forum
ITECH Kenya presentation on OpenMRS Developers Forum
djazayeri
 
Datastage coursecontent
Datastage coursecontentDatastage coursecontent
Datastage coursecontent
Amit Sharma
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinar
CloudBees
 

Ähnlich wie Version Control & Git (20)

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

Mehr von Craig Smith

Code of Ethical Conduct for Agile Coaching
Code of Ethical Conduct for Agile CoachingCode of Ethical Conduct for Agile Coaching
Code of Ethical Conduct for Agile Coaching
Craig Smith
 

Mehr von Craig Smith (20)

40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
 
Code of Ethical Conduct for Agile Coaching
Code of Ethical Conduct for Agile CoachingCode of Ethical Conduct for Agile Coaching
Code of Ethical Conduct for Agile Coaching
 
Public Sector Agility Accelerator
Public Sector Agility AcceleratorPublic Sector Agility Accelerator
Public Sector Agility Accelerator
 
Rethinking Retrospectives: Beyond the Three Columns
Rethinking Retrospectives: Beyond the Three ColumnsRethinking Retrospectives: Beyond the Three Columns
Rethinking Retrospectives: Beyond the Three Columns
 
Agile Coaching Ethics - The Powerful Questions Behind What, Why & How
Agile Coaching Ethics - The Powerful Questions Behind What, Why & HowAgile Coaching Ethics - The Powerful Questions Behind What, Why & How
Agile Coaching Ethics - The Powerful Questions Behind What, Why & How
 
Public Sector Agility Accelerator
Public Sector Agility AcceleratorPublic Sector Agility Accelerator
Public Sector Agility Accelerator
 
Public Sector Agility Accelerator
Public Sector Agility AcceleratorPublic Sector Agility Accelerator
Public Sector Agility Accelerator
 
Agility Accelerator
Agility AcceleratorAgility Accelerator
Agility Accelerator
 
FailAgility: Recognising and Resetting the Agile Boundaries
FailAgility: Recognising and Resetting the Agile BoundariesFailAgility: Recognising and Resetting the Agile Boundaries
FailAgility: Recognising and Resetting the Agile Boundaries
 
Mind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of AgilityMind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of Agility
 
Mind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of AgilityMind the Gap: Realising the Value of Agility
Mind the Gap: Realising the Value of Agility
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
 
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile Coaching Nightmares: Lessons We Can Learn From Gordon RamsayAgile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
 
Agile 2008 Retrospective
Agile 2008 RetrospectiveAgile 2008 Retrospective
Agile 2008 Retrospective
 
Technical Lessons Learned Turning the Agile Dials to Eleven!
Technical Lessons Learned Turning the Agile Dials to Eleven!Technical Lessons Learned Turning the Agile Dials to Eleven!
Technical Lessons Learned Turning the Agile Dials to Eleven!
 
Agile Project Experiences - The Story of Three Little Pigs
Agile Project Experiences - The Story of Three Little PigsAgile Project Experiences - The Story of Three Little Pigs
Agile Project Experiences - The Story of Three Little Pigs
 
Agile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Agile Coaching Nightmares: Lessons We Can Learn From Gordon RamsayAgile Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
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 RamsayCoaching 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
Coaching Nightmares: Lessons We Can Learn From Gordon RamsayCoaching Nightmares: Lessons We Can Learn From Gordon Ramsay
Coaching Nightmares: Lessons We Can Learn From Gordon Ramsay
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
 

Kürzlich hochgeladen

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
 
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
 

Kürzlich hochgeladen (20)

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...
 
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
 
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
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
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
 
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
 
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
 

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