SlideShare a Scribd company logo
1 of 63
Download to read offline
Code
Management:
    Git
Thong Kuah
<Thong.Kuah @ gmail.com>
A Coders Carol
   presents
Crash Dummy Coding




              http://www.flickr.com/photos/bugbbq/3853099883/sizes/l/
New version
Git Basics Workshop Summer of Tech 2010
Git Basics Workshop Summer of Tech 2010
Git Basics Workshop Summer of Tech 2010
Git Basics Workshop Summer of Tech 2010
Here's another change




   And another change
I prefer the first one
http://www.flickr.com/photos/jemimagibbons/3973603289/
Hey! Success!




           http://www.flickr.com/photos/brajeshwar/378641553/
Teamwork ?




         http://www.flickr.com/photos/ivanwalsh/3924222303/
cat_generator.sh
That's mine! Mine!




            http://www.flickr.com/photos/9588236@N02/1454642584/sizes/l/
I know!

cat_generator.bak
cat_generator.backup_file
cat_gen.do_not_delete
cat_generator.alice.1
cat_generator.bob.2
N^2




      http://www.flickr.com/photos/seeminglee/2065927225/
Marty McFly




         http://commons.wikimedia.org/wiki/File:BTTFTimelines.png
http://www.flickr.com/photos/flying_cloud/2667225198/sizes/l/
http://www.flickr.com/photos/torley/414120961/sizes/o/
Fix it.




          http://commons.wikimedia.org/wiki/File:Software_spanner.png
Who dunnit?
       http://www.flickr.com/photos/editor/3577065653/
Where's the problem?




                http://www.flickr.com/photos/silvery/2414538926/
Re-occurences
http://www.flickr.com/photos/tveskov/3387394098/sizes/o/
So, what do we
    need ?
http://www.flickr.com/photos/mattwright/1787856/sizes/l/
http://www.flickr.com/photos/clintjcl/2784231777/sizes/o/
http://commons.wikimedia.org/wiki/File:Arrows-orphan.svg
Version Control
Version Control

● Storage
● Keeps multiple

  versions
● Handles changes from

  multiple sources
Experiments


Work with others



                                               Run multiple
                                               versions

Deploy to
production

                   http://en.wikipedia.org/wiki/File:Revision_controlled_project_visualization-2010-24-02.svg
Version Control




 Basics
Basics

●You get code
●You change code

●You share your

 changes
Basics

●You checkout
●You change code

●You commit
Basics

●   You checkout
Checkout




       http://betterexplained.com/articles/a-visual-guide-to-version-control/
Basics

●You checkout
●You change code
Change code




                      http://betterexplained.com/articles/a-visual-guide-to-version-control/
  ...change file...
Basics

●You checkout
●You change code

●You commit
Commit




         http://betterexplained.com/articles/a-visual-guide-to-version-control/
Again?
Checkout




       http://betterexplained.com/articles/a-visual-guide-to-version-control/
Change code




                      http://betterexplained.com/articles/a-visual-guide-to-version-control/
  ...change file...
Commit




         http://betterexplained.com/articles/a-visual-guide-to-version-control/
Every version is recorded




                http://betterexplained.com/articles/a-visual-guide-to-version-control/
Every change is recorded




               http://betterexplained.com/articles/a-visual-guide-to-version-control/
Basics (II)

●Others get your code
●Others change code

●You get new version
Basics (II)

●Others checkout
●Others change code

●You update
Basics (II)

●Others checkout
●Others change code

●You update

●And around it goes
Sharing is good




             http://www.flickr.com/photos/ryanr/142455033/sizes/o/
The full picture



  Tools
    &
Practices
Tools

●SVN
●Git

●Mercurial

●etc...
Practice is up to you & your team




http://www.flickr.com/photos/st3f4n/3752994778/   http://www.flickr.com/photos/ahnmyrrh/3633346069/
Summary

●Version Control is a must
●Use best practice

●Use good tools

●Version control basics
Further Information
●   http://gitref.org/index.html
●   http://progit.org/
●   SVN Red Book
●   http://betterexplained.com/articles/a-visual-
    guide-to-version-control/
●   http://www.swc.scipy.org/lec/version.html
Credits, Attribution
●   http://www.flickr.com/photos/charlieferrari/49323751/sizes/o/

●   http://www.flickr.com/photos/nickwheeleroz/2475011402/sizes/l/

●   http://www.flickr.com/photos/herzogbr/2123789106/sizes/l/

●   http://www.flickr.com/photos/7506006@N07/513417996/in/set-72157600264508078/

●   http://www.flickr.com/photos/7506006@N07/513453021/

●   http://www.flickr.com/photos/mattwright/1787856/sizes/l/

●   http://www.flickr.com/photos/ryanr/142455033/sizes/o/

●   http://www.flickr.com/photos/rachelrusinski/533767098/sizes/o/

●   http://commons.wikimedia.org

●   http://www.flickr.com/photos/missmirr/529688823/sizes/o/
Questions?




             http://www.flickr.com/photos/gattomimmo/318700028/sizes/o/
Git
Git




      http://progit.org/book/ch1-3.html
Workshop time
Ask lots of questions
http://github.com/
  kuahyeow/git-
    workshop

More Related Content

Viewers also liked

Code Management (Version Control)
Code Management (Version Control)Code Management (Version Control)
Code Management (Version Control)Y. Thong Kuah
 
Leaders As Teachers Institute
Leaders As Teachers InstituteLeaders As Teachers Institute
Leaders As Teachers InstituteCorpU
 
Rails 3 : Cool New Things
Rails 3 : Cool New ThingsRails 3 : Cool New Things
Rails 3 : Cool New ThingsY. Thong Kuah
 
Git Basics at Rails Underground
Git Basics at Rails UndergroundGit Basics at Rails Underground
Git Basics at Rails UndergroundAriejan de Vroom
 

Viewers also liked (6)

Code Management (Version Control)
Code Management (Version Control)Code Management (Version Control)
Code Management (Version Control)
 
Leaders As Teachers Institute
Leaders As Teachers InstituteLeaders As Teachers Institute
Leaders As Teachers Institute
 
Rails 3 : Cool New Things
Rails 3 : Cool New ThingsRails 3 : Cool New Things
Rails 3 : Cool New Things
 
Code Management
Code ManagementCode Management
Code Management
 
Git Basics at Rails Underground
Git Basics at Rails UndergroundGit Basics at Rails Underground
Git Basics at Rails Underground
 
Git basic
Git basicGit basic
Git basic
 

Similar to Git Basics Workshop Summer of Tech 2010

There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010Emma Jane Hogbin Westby
 
Have you been stalking your servers?
Have you been stalking your servers?Have you been stalking your servers?
Have you been stalking your servers?Martin Marji Cermak
 
Shining a light on performance (js meetup)
Shining a light on performance (js meetup)Shining a light on performance (js meetup)
Shining a light on performance (js meetup)Yoav Niran
 
Software Craftsmanship - 1 Meeting
Software Craftsmanship - 1 MeetingSoftware Craftsmanship - 1 Meeting
Software Craftsmanship - 1 MeetingUri Lavi
 
The Evil Tester's Guide to HTTP proxies Tutorial
The Evil Tester's Guide to HTTP proxies TutorialThe Evil Tester's Guide to HTTP proxies Tutorial
The Evil Tester's Guide to HTTP proxies TutorialAlan Richardson
 
Moodle Series #2 - Learn Local - Administering your Moodle Course
Moodle Series #2 - Learn Local - Administering your Moodle CourseMoodle Series #2 - Learn Local - Administering your Moodle Course
Moodle Series #2 - Learn Local - Administering your Moodle CourseYum Studio
 
Have you been stalking your servers?
Have you been stalking your servers?Have you been stalking your servers?
Have you been stalking your servers?morpht
 
Introduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsIntroduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsEric Hogue
 
Continuous Testing in Vegas
Continuous Testing in VegasContinuous Testing in Vegas
Continuous Testing in Vegasjaredrrichardson
 
Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015Colin O'Dell
 
Agile Gurugram 2016 | Conference | Why your Agile Project will fail? Softwar...
Agile Gurugram 2016 | Conference |  Why your Agile Project will fail? Softwar...Agile Gurugram 2016 | Conference |  Why your Agile Project will fail? Softwar...
Agile Gurugram 2016 | Conference | Why your Agile Project will fail? Softwar...AgileNetwork
 
You're doing it wrong! Git it right!
You're doing it wrong! Git it right!You're doing it wrong! Git it right!
You're doing it wrong! Git it right!Cory Webb
 
11 tools for your PHP devops stack
11 tools for your PHP devops stack11 tools for your PHP devops stack
11 tools for your PHP devops stackKris Buytaert
 
Hacking And Hosting Hot Potatoes
Hacking And Hosting Hot PotatoesHacking And Hosting Hot Potatoes
Hacking And Hosting Hot PotatoesDerek Moore
 
DevOps Taiwan meetup #19
DevOps Taiwan meetup #19DevOps Taiwan meetup #19
DevOps Taiwan meetup #19Len Chang
 
The usage and dependency resolving mechanism of go module
The usage and dependency resolving mechanism of go moduleThe usage and dependency resolving mechanism of go module
The usage and dependency resolving mechanism of go moduleLung-Hsuan Hung
 
Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!Peter Gfader
 
Behaviour-Driven Development: escrevendo especificações ágeis
Behaviour-Driven Development: escrevendo especificações ágeisBehaviour-Driven Development: escrevendo especificações ágeis
Behaviour-Driven Development: escrevendo especificações ágeisHugo Lopes Tavares
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stackKris Buytaert
 

Similar to Git Basics Workshop Summer of Tech 2010 (20)

There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010
 
Have you been stalking your servers?
Have you been stalking your servers?Have you been stalking your servers?
Have you been stalking your servers?
 
Shining a light on performance (js meetup)
Shining a light on performance (js meetup)Shining a light on performance (js meetup)
Shining a light on performance (js meetup)
 
Silos are for farmers
Silos are for farmersSilos are for farmers
Silos are for farmers
 
Software Craftsmanship - 1 Meeting
Software Craftsmanship - 1 MeetingSoftware Craftsmanship - 1 Meeting
Software Craftsmanship - 1 Meeting
 
The Evil Tester's Guide to HTTP proxies Tutorial
The Evil Tester's Guide to HTTP proxies TutorialThe Evil Tester's Guide to HTTP proxies Tutorial
The Evil Tester's Guide to HTTP proxies Tutorial
 
Moodle Series #2 - Learn Local - Administering your Moodle Course
Moodle Series #2 - Learn Local - Administering your Moodle CourseMoodle Series #2 - Learn Local - Administering your Moodle Course
Moodle Series #2 - Learn Local - Administering your Moodle Course
 
Have you been stalking your servers?
Have you been stalking your servers?Have you been stalking your servers?
Have you been stalking your servers?
 
Introduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsIntroduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec Jenkins
 
Continuous Testing in Vegas
Continuous Testing in VegasContinuous Testing in Vegas
Continuous Testing in Vegas
 
Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015
 
Agile Gurugram 2016 | Conference | Why your Agile Project will fail? Softwar...
Agile Gurugram 2016 | Conference |  Why your Agile Project will fail? Softwar...Agile Gurugram 2016 | Conference |  Why your Agile Project will fail? Softwar...
Agile Gurugram 2016 | Conference | Why your Agile Project will fail? Softwar...
 
You're doing it wrong! Git it right!
You're doing it wrong! Git it right!You're doing it wrong! Git it right!
You're doing it wrong! Git it right!
 
11 tools for your PHP devops stack
11 tools for your PHP devops stack11 tools for your PHP devops stack
11 tools for your PHP devops stack
 
Hacking And Hosting Hot Potatoes
Hacking And Hosting Hot PotatoesHacking And Hosting Hot Potatoes
Hacking And Hosting Hot Potatoes
 
DevOps Taiwan meetup #19
DevOps Taiwan meetup #19DevOps Taiwan meetup #19
DevOps Taiwan meetup #19
 
The usage and dependency resolving mechanism of go module
The usage and dependency resolving mechanism of go moduleThe usage and dependency resolving mechanism of go module
The usage and dependency resolving mechanism of go module
 
Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!
 
Behaviour-Driven Development: escrevendo especificações ágeis
Behaviour-Driven Development: escrevendo especificações ágeisBehaviour-Driven Development: escrevendo especificações ágeis
Behaviour-Driven Development: escrevendo especificações ágeis
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stack
 

Recently uploaded

Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 

Recently uploaded (20)

Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 

Git Basics Workshop Summer of Tech 2010