SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
What is version control
software and why do you
need it?
Leonid Mamchenkov
http://mamchenkov.net
Contents
●   What is version control software?
●   Why do you need it?
●   Where did it come from?
●   How does it work?
●   Which one should you use?
●   How do you start using it?
What is version control software?
Version Control Software (VCS) is a set of
programs that manage changes to computer
files, such as documents, images and source
code.
 
Also known as:
● Revision control software
● Version management software
● Source control software
● Configuration management software
Why do you need it?
●   Undo, incremental backup of changes
●   Trying out ideas
●   Integrating several sources or subsystems
●   Collaboration with other people
●   Troubleshooting
●   Statistics
●   Time travel
●   Productivity
●   Sanity!!!
Does this look familiar?
Where did it come from?
●   Engineering: blueprints
●   Law: contract redline, legal backline
●   Software Development: early UNIX days
●   SCCS: 1972, Bell Labs, Marc J. Rochkind
●   diff: 1974, AT&T, Hunt-McIlroy algorithm
●   RCS: 1982, GNU, Walter F. Tichy
●   patch: 1985, Larry Wall
●   CVS: 1986, Dick Grune
●   Subversion: 2000, CollabNet, Apache
●   Git: 2005, Linus Torvalds
How does it work?
How does it work?

 ●   Repository
 ●   Revisions
 ●   Tree baseline
 ●   Branches
 ●   Tags
 
 
 
Wikipedia: Revision control
How does it work?
How does it work?
Which one should you use?
●   Git
●   If you can't use Git, using anything else
●   Make sure you do use something!
 
●   Git   is   free and Open Source
●   Git   is   distributed
●   Git   is   cross-platform (Linux, Windows, ...)
●   Git   is   very fast. And smart.
●   Git   is   de fact standard in Open Source world
●   Git   is   on the GitHub
How do you start using it?
Surprise! You are probably already using it via
Microsoft Office, OpenOffice.org, KOffice,
WordPress, Drupal, Joomla, or Wiki engine.
 
● Install Git
● Tutorials, book (http://book.git-scm.com)
● Try and play
● Register GitHub account
● Enjoy!
How do you start using it?
Once off

# yum install git
$ git config --global user.name "John Doe"
$ git config --global user.email john@doe.com
How do you start using it?
Once per project

$ mkdir Project
$ cd Project
$ git init
How do you start using it?
Simple workflow

$   vim README
$   mkdir Files
$   mv /tmp/*.pdf Files/
$   git add .
$   git commit -m "Initialized the project"
$   git rm Files/invoice123.pdf
$   git commit -m "Removed invoice123.pdf from the project"
$   vim README
$   git diff
$   git add .
$   git commit -m "Added copyright notice to README"
$   git log
How do you start using it?
The End
Thank you.

Weitere ähnliche Inhalte

Was ist angesagt?

Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
Medhat Dawoud
 

Was ist angesagt? (20)

Version control
Version controlVersion control
Version control
 
Git the fast version control system
Git the fast version control systemGit the fast version control system
Git the fast version control system
 
Github basics
Github basicsGithub basics
Github basics
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes Developers
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
 
Software Versioning with Bitbucket and Eclipse
Software Versioning with Bitbucket and EclipseSoftware Versioning with Bitbucket and Eclipse
Software Versioning with Bitbucket and Eclipse
 
git and github
git and githubgit and github
git and github
 
Introduction to Git and Github
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
Luis atencio on_git
Luis atencio on_gitLuis atencio on_git
Luis atencio on_git
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control System
 
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
 
Introduction to git and github
Introduction to git and githubIntroduction to git and github
Introduction to git and github
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
 
Introduction to git administration
Introduction to git administrationIntroduction to git administration
Introduction to git administration
 
Git 101
Git 101Git 101
Git 101
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Git for IBM Notes Designer
Git for IBM Notes DesignerGit for IBM Notes Designer
Git for IBM Notes Designer
 

Ähnlich wie What is version control software and why do you need it?

The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...
dmgerman
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
uzair
 

Ähnlich wie What is version control software and why do you need it? (20)

Open source
Open sourceOpen source
Open source
 
Git In One Evening
Git In One EveningGit In One Evening
Git In One Evening
 
The 10 Commandments of Release Engineering
The 10 Commandments of Release EngineeringThe 10 Commandments of Release Engineering
The 10 Commandments of Release Engineering
 
Pentester++
Pentester++Pentester++
Pentester++
 
GIT AND GITHUB (1).pptx
GIT AND GITHUB (1).pptxGIT AND GITHUB (1).pptx
GIT AND GITHUB (1).pptx
 
Open Source in Real Life
Open Source in Real LifeOpen Source in Real Life
Open Source in Real Life
 
Beginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdfBeginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdf
 
Using Git with WordPress - Presented by Nigel Rodgers.
Using Git with WordPress - Presented by Nigel Rodgers.Using Git with WordPress - Presented by Nigel Rodgers.
Using Git with WordPress - Presented by Nigel Rodgers.
 
Git hub
Git hubGit hub
Git hub
 
Volunteering at YouSee on Technology Support
Volunteering at YouSee on Technology SupportVolunteering at YouSee on Technology Support
Volunteering at YouSee on Technology Support
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems
 
GitLab for CI/CD process
GitLab for CI/CD processGitLab for CI/CD process
GitLab for CI/CD process
 
The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
 
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris Buytaert
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris BuytaertOSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris Buytaert
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris Buytaert
 
Teaching Open Source In The University
Teaching Open Source In The UniversityTeaching Open Source In The University
Teaching Open Source In The University
 
Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy process
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
 
Hacking the Linux Kernel - An Introduction
Hacking the Linux Kernel - An IntroductionHacking the Linux Kernel - An Introduction
Hacking the Linux Kernel - An Introduction
 
Continuous Delivery of Puppet Manifests
Continuous Delivery of Puppet ManifestsContinuous Delivery of Puppet Manifests
Continuous Delivery of Puppet Manifests
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (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...
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
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
 
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
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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, ...
 
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
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

What is version control software and why do you need it?

  • 1. What is version control software and why do you need it? Leonid Mamchenkov http://mamchenkov.net
  • 2. Contents ● What is version control software? ● Why do you need it? ● Where did it come from? ● How does it work? ● Which one should you use? ● How do you start using it?
  • 3. What is version control software? Version Control Software (VCS) is a set of programs that manage changes to computer files, such as documents, images and source code.   Also known as: ● Revision control software ● Version management software ● Source control software ● Configuration management software
  • 4. Why do you need it? ● Undo, incremental backup of changes ● Trying out ideas ● Integrating several sources or subsystems ● Collaboration with other people ● Troubleshooting ● Statistics ● Time travel ● Productivity ● Sanity!!!
  • 5. Does this look familiar?
  • 6. Where did it come from? ● Engineering: blueprints ● Law: contract redline, legal backline ● Software Development: early UNIX days ● SCCS: 1972, Bell Labs, Marc J. Rochkind ● diff: 1974, AT&T, Hunt-McIlroy algorithm ● RCS: 1982, GNU, Walter F. Tichy ● patch: 1985, Larry Wall ● CVS: 1986, Dick Grune ● Subversion: 2000, CollabNet, Apache ● Git: 2005, Linus Torvalds
  • 7. How does it work?
  • 8. How does it work? ● Repository ● Revisions ● Tree baseline ● Branches ● Tags       Wikipedia: Revision control
  • 9. How does it work?
  • 10. How does it work?
  • 11. Which one should you use? ● Git ● If you can't use Git, using anything else ● Make sure you do use something!   ● Git is free and Open Source ● Git is distributed ● Git is cross-platform (Linux, Windows, ...) ● Git is very fast. And smart. ● Git is de fact standard in Open Source world ● Git is on the GitHub
  • 12. How do you start using it? Surprise! You are probably already using it via Microsoft Office, OpenOffice.org, KOffice, WordPress, Drupal, Joomla, or Wiki engine.   ● Install Git ● Tutorials, book (http://book.git-scm.com) ● Try and play ● Register GitHub account ● Enjoy!
  • 13. How do you start using it? Once off # yum install git $ git config --global user.name "John Doe" $ git config --global user.email john@doe.com
  • 14. How do you start using it? Once per project $ mkdir Project $ cd Project $ git init
  • 15. How do you start using it? Simple workflow $ vim README $ mkdir Files $ mv /tmp/*.pdf Files/ $ git add . $ git commit -m "Initialized the project" $ git rm Files/invoice123.pdf $ git commit -m "Removed invoice123.pdf from the project" $ vim README $ git diff $ git add . $ git commit -m "Added copyright notice to README" $ git log
  • 16. How do you start using it?