SlideShare a Scribd company logo
GIT, VERSION CONTROL,
       AND YOU.
An introduction to the tastiest version control system.
                         Ever.

               Courtesy of Jeff Byrnes
                  jeff@jeffbyrn.es
WHATCHU TALKIN’ ‘BOUT?
•   Who is this guy?
•   What is Git?
•   More importantly, what’s source control?
•   Why do I need it?
•   What makes Git so uber-sweet? And no so sweet?
•   Get the party started
•   Command me, o Git
•   Back to the Future
•   Branch me, baby
•   Embracing conflict
•   More resources
WHO IS THIS GUY?

• Jeff   Byrnes

• Web  Developer (self-
  taught; HTML/CSS/PHP/JS)

• Trained  Musician (upright &
  electric bass)

• Learned Git in just a few
  months, and now I’m here to
  share!
WHAT IS GIT?

•A   distributed version control system

• Created   by Linus Torvalds, the guy behind Linux

• Used   by lots of people, big to small (think Google, Twitter, etc.)

• Especially   popular amongst open-source projects

  • GitHub, anyone?    jQuery, Linux, etc.
SOURCE CONTROL?



• Ever   heard of this website?
SOURCE CONTROL?

  • Source    control is like a wiki for your text

  • Lots   of different systems (here’s three):

    • CVS

    • Subversion

    • Mercurial



Sorry, there isn’t a logo for CVS. It was made way back when logos weren’t cool.
SOURCE CONTROL?

                                              Server
• Oldersystems (CVS,
 Subversion) are centralized

• Network    access is required   Committer            Committer
• Everyone is dependent on
 the server
SOURCE CONTROL?

                                      Server
• Git(and a few others) are
 distributed

• Thismeans every copy of
 the repository is a clone    Clone            Clone
• Soyou can run off on your
 own & go nuts, or even
 push/pull to each other
SOURCE CONTROL?


 • Well     great, Jeff, but what if I’m a one-person operation?

 • It’s   also fast. Like whoa fast.

 • It also tracks changes on a line-by-line basis, instead of on a
    file-by-file basis




Give some examples of how line-by-line rocks the hizzouse
THE SWEET


•A   history of your changes

• Line-by-line   changes

• Cheap   branching

• No   server needed
THE NO-SO-SWEET


• Not great for binary files
  (images, movies, etc.)

• Lots    to learn

• Still
      very much a
  programmer’s tool
GET THE PARTY STARTED

  • Install   & identify yourself

    • Mac     & Linux users: rejoice

    • Windows        users: I’m sorry

  • git       init

  • That’s    it.


Be sure to go over git config --global for username & email
AT YOUR COMMAND

• git   add

• git   commit

• git   branch

• git   merge

• git   push / git pull
BACK TO THE FUTURE
                      (THINK, MCFLY, THINK!)




• Lots   of commands to undo

• Here’s   the two basic ones:

  • git     revert

  • git     reset
BRANCH ME

 •A    branch is a separate
    strand of work

 • Think   features, bug fixes,
    flights of fancy

 • git  checkout -b
    branchname


Branches are cheap, and should be used wildly. Explain how checking out a branch changes
the whole working tree.
EMBRACE CONFLICT
                     (MERGES AREN’T SCARY)




• Git   is conservative

• Git   always defers to your judgment

• Throws    a merge conflict if it even thinks something is awry

• GUItools (e.g., Tower, Sourcetree, TortoiseGit) make merges
 way easier
MORE RESOURCES

• Git - git-scm.com
• Git Book - book.git-scm.com
•   Successful branching model - nvie.com/posts/a-successful-git-
    branching-model/
•   Git Ready - gitready.com
•   Get Started w/ Git - alistapart.com/articles/get-started-with-git/
• Git Reference - gitref.org
• Think Like A Git - think-like-a-git.net
•   Interactive Git Cheatsheet - ndpsoftware.com/git-cheatsheet.html

More Related Content

Viewers also liked (20)

PPTX
Git 101
jayrparro
 
PDF
Introduction to Git
Colin Su
 
PPT
ICF Chapter Conference Keynote: From Coaching to Ka-Ching, by Chuck Reynolds
CServe
 
PPT
Induction of lactation in fostering mothers
muhammad al hennawy
 
PDF
25 Años Somamfyc
RAQUEL GÓMEZ BRAVO
 
PPTX
Jefe
savasa
 
PPTX
Proyecto Integrador CEIDA
guest480a0f
 
ODP
San Nicolas del puerto
randradestic12
 
PPT
Movimiento Misionero Promedac
Jose Zaldivar
 
PDF
Pronokal en IML
Instituto Médico Láser
 
PDF
500 Signagelive Displays for Innovation Generation Ohio
Jason Cremins
 
PPTX
NEPA BlogCon 2012 - Blogging for Smart People
Michelle Davies (Hryvnak)
 
PPTX
L'escola garbí des dels seus inicis
GTV Escola Garbí
 
PPT
Pharmapp. Manual app que localiza la farmacia de guardia
Guadalinfo Aznalcázar
 
PDF
Negociagro Compra y venta de Ganado Colombia
Venta Ganado
 
PDF
Smart Work Servizi Internazionali
andreajacono
 
PDF
My Vision Express Brochure 2015
My Vision Express
 
PPTX
El sistema solar
jovanivg23
 
PPT
El sentido de la sexualidad
isra
 
PDF
Chrysler Town & country 2010
Puebla Automotriz
 
Git 101
jayrparro
 
Introduction to Git
Colin Su
 
ICF Chapter Conference Keynote: From Coaching to Ka-Ching, by Chuck Reynolds
CServe
 
Induction of lactation in fostering mothers
muhammad al hennawy
 
25 Años Somamfyc
RAQUEL GÓMEZ BRAVO
 
Jefe
savasa
 
Proyecto Integrador CEIDA
guest480a0f
 
San Nicolas del puerto
randradestic12
 
Movimiento Misionero Promedac
Jose Zaldivar
 
Pronokal en IML
Instituto Médico Láser
 
500 Signagelive Displays for Innovation Generation Ohio
Jason Cremins
 
NEPA BlogCon 2012 - Blogging for Smart People
Michelle Davies (Hryvnak)
 
L'escola garbí des dels seus inicis
GTV Escola Garbí
 
Pharmapp. Manual app que localiza la farmacia de guardia
Guadalinfo Aznalcázar
 
Negociagro Compra y venta de Ganado Colombia
Venta Ganado
 
Smart Work Servizi Internazionali
andreajacono
 
My Vision Express Brochure 2015
My Vision Express
 
El sistema solar
jovanivg23
 
El sentido de la sexualidad
isra
 
Chrysler Town & country 2010
Puebla Automotriz
 

Similar to Harvard ABCD-WWW Git presentation (20)

PDF
Git Version Control for the Complete N00b by Adam LaBarge
East Bay WordPress Meetup
 
PPTX
Version controll.pptx
Md. Main Uddin Rony
 
PPTX
Mini-training: Let’s Git It!
Betclic Everest Group Tech Team
 
PPT
Introduction to git
Nguyen Van Hung
 
ODP
Git: be social
Geronimo Orozco
 
PDF
Git Pocket Guide A Working Introduction 1st Edition Richard E. Silverman
fingonbinka66
 
PDF
Git for developers
Hacen Dadda
 
PPTX
Git 101
Sachet Mittal
 
PPTX
Version Control with Git
Sahil Agarwal
 
PDF
Why Git Sucks and you'll use it anyways
Carlos Taborda
 
PPTX
Introduction to GitHub, Open Source and Tech Article
PRIYATHAMDARISI
 
PPT
Introduction to Git
atishgoswami
 
PDF
Git: a tool for wizards
responseteam
 
PDF
Git introduction for Beginners
MortezaTaghaddomi
 
PPTX
Introduction to Git and Github
Max Claus Nunes
 
PDF
Version Control System - Git
Carlo Bernaschina
 
PPTX
Getting Started with Git: A Primer for SVN and TFS Users
Noam Kfir
 
KEY
Intro to git
josh_cutler
 
Git Version Control for the Complete N00b by Adam LaBarge
East Bay WordPress Meetup
 
Version controll.pptx
Md. Main Uddin Rony
 
Mini-training: Let’s Git It!
Betclic Everest Group Tech Team
 
Introduction to git
Nguyen Van Hung
 
Git: be social
Geronimo Orozco
 
Git Pocket Guide A Working Introduction 1st Edition Richard E. Silverman
fingonbinka66
 
Git for developers
Hacen Dadda
 
Git 101
Sachet Mittal
 
Version Control with Git
Sahil Agarwal
 
Why Git Sucks and you'll use it anyways
Carlos Taborda
 
Introduction to GitHub, Open Source and Tech Article
PRIYATHAMDARISI
 
Introduction to Git
atishgoswami
 
Git: a tool for wizards
responseteam
 
Git introduction for Beginners
MortezaTaghaddomi
 
Introduction to Git and Github
Max Claus Nunes
 
Version Control System - Git
Carlo Bernaschina
 
Getting Started with Git: A Primer for SVN and TFS Users
Noam Kfir
 
Intro to git
josh_cutler
 
Ad

Recently uploaded (20)

PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Python basic programing language for automation
DanialHabibi2
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Ad

Harvard ABCD-WWW Git presentation

  • 1. GIT, VERSION CONTROL, AND YOU. An introduction to the tastiest version control system. Ever. Courtesy of Jeff Byrnes [email protected]
  • 2. WHATCHU TALKIN’ ‘BOUT? • Who is this guy? • What is Git? • More importantly, what’s source control? • Why do I need it? • What makes Git so uber-sweet? And no so sweet? • Get the party started • Command me, o Git • Back to the Future • Branch me, baby • Embracing conflict • More resources
  • 3. WHO IS THIS GUY? • Jeff Byrnes • Web Developer (self- taught; HTML/CSS/PHP/JS) • Trained Musician (upright & electric bass) • Learned Git in just a few months, and now I’m here to share!
  • 4. WHAT IS GIT? •A distributed version control system • Created by Linus Torvalds, the guy behind Linux • Used by lots of people, big to small (think Google, Twitter, etc.) • Especially popular amongst open-source projects • GitHub, anyone? jQuery, Linux, etc.
  • 5. SOURCE CONTROL? • Ever heard of this website?
  • 6. SOURCE CONTROL? • Source control is like a wiki for your text • Lots of different systems (here’s three): • CVS • Subversion • Mercurial Sorry, there isn’t a logo for CVS. It was made way back when logos weren’t cool.
  • 7. SOURCE CONTROL? Server • Oldersystems (CVS, Subversion) are centralized • Network access is required Committer Committer • Everyone is dependent on the server
  • 8. SOURCE CONTROL? Server • Git(and a few others) are distributed • Thismeans every copy of the repository is a clone Clone Clone • Soyou can run off on your own & go nuts, or even push/pull to each other
  • 9. SOURCE CONTROL? • Well great, Jeff, but what if I’m a one-person operation? • It’s also fast. Like whoa fast. • It also tracks changes on a line-by-line basis, instead of on a file-by-file basis Give some examples of how line-by-line rocks the hizzouse
  • 10. THE SWEET •A history of your changes • Line-by-line changes • Cheap branching • No server needed
  • 11. THE NO-SO-SWEET • Not great for binary files (images, movies, etc.) • Lots to learn • Still very much a programmer’s tool
  • 12. GET THE PARTY STARTED • Install & identify yourself • Mac & Linux users: rejoice • Windows users: I’m sorry • git init • That’s it. Be sure to go over git config --global for username & email
  • 13. AT YOUR COMMAND • git add • git commit • git branch • git merge • git push / git pull
  • 14. BACK TO THE FUTURE (THINK, MCFLY, THINK!) • Lots of commands to undo • Here’s the two basic ones: • git revert • git reset
  • 15. BRANCH ME •A branch is a separate strand of work • Think features, bug fixes, flights of fancy • git checkout -b branchname Branches are cheap, and should be used wildly. Explain how checking out a branch changes the whole working tree.
  • 16. EMBRACE CONFLICT (MERGES AREN’T SCARY) • Git is conservative • Git always defers to your judgment • Throws a merge conflict if it even thinks something is awry • GUItools (e.g., Tower, Sourcetree, TortoiseGit) make merges way easier
  • 17. MORE RESOURCES • Git - git-scm.com • Git Book - book.git-scm.com • Successful branching model - nvie.com/posts/a-successful-git- branching-model/ • Git Ready - gitready.com • Get Started w/ Git - alistapart.com/articles/get-started-with-git/ • Git Reference - gitref.org • Think Like A Git - think-like-a-git.net • Interactive Git Cheatsheet - ndpsoftware.com/git-cheatsheet.html