Git in one Evening
● Who am I, and what is my context?
● Why use version control at all?
● What are the options?
● Why choose git?
● Git basics
● Github goodies
● Git as part of your workflow
● Questions and discussion
Who am I, anyway?
● Long time developer (perl, php)
● Primarily work in Drupal
● I work with a small team – I'm the primary
back-end dev, we have one themer
● I do sometimes contribute to the Drupal
project.
Why use version control?
● Also called “revision control” or “source
control”
● Use cases (code == text files)
– Solo, CMS site building, no custom code
(useful at times)
– Solo, CMS site building, custom code (theme
files, etc.) (very useful)
– Solo or Team, custom code (essential)
– Team, CMS site building, custom code
(essential)
Version Control Options
● Old skool: CVS/SVN (client/server)
● New skool: Git, Bazaar, Mercurial (distributed)
● Git is by far the most popular, and has
become the industry standard for version
control. Used for the Linux kernel
● Mercurial is used by Python, and others
● Bazaar is used by Ubuntu, and supported by
Canonical
Distributed Version Control
● SVN (and its predecessor, CVS) had only
one repository, and it was central. You
committed code to that repository. Your
working copy is only a copy of the code, with
metadata (in the form of .svn directories).
● With distributed version control, everyone has
a repository – so every version is basically a
fork.
Distributed Version Control, cont.
● Synchronization can happen by peers
exchanging patches
● Commits, reverts, etc. are fast, because they
happen locally.
● You can work productively (like on a plane)
without having to connect to a server
● Branching and forking are a lot easier
● It is easier to contribute to open source
projects
Why Learn Git?
● It is distributed version control
● It is the most popular
● It is used for the drupal project (I notice
wordpress is still using SVN.)
● It is in increasing use in PaaS systems
(Heroku, etc.)
● You'll improve your chances of getting a job
(git knowledge is increasingly asked for.)
How to get git
● Linux
– apt-get install git (Ubuntu/Debian)
– yum install git-core (Fedora/CentOS)
– Download from http://git-scm.com/
● Mac OS X
– Graphical Git
installer:http://code.google.com/p/git-osx-
installer
– MacPorts
● Windows
– http://msysgit.github.io/
Git Tools
● IDEs/Editors that integrate with git
– Eclipse
– Netbeans
– TextMate
● Git GUIs
– Gitg
– Katana
– Others
● https://git.wiki.kernel.org/index.php/InterfacesF
rontendsAndTools
Git GUI (gitg)
Basic Git
● Creating a git repository
● Cloning a git repository
● Making changes
● Viewing status
● Staging changes
● Committing changes
● Pushing and Pulling
● Undoing mistakes
More Git Commands
● Clone a repository: ‘git clone
ssh://user@domain/repo.git’
● Add an origin: ‘git remote add <remote>
user@domain/repo.git’
● Pulling from a remote: ‘git pull <remote>
<branch>
Let’s Do It!
Git Repository Hosting
● You could theoretically do peer-to-peer, but
the standard is to have a “bare” repository
hosted somewhere
● You can easily host it yourself on a VPS
● Commercial hosting options provide goodies
– GitHub
– Bitbucket
– Others
GitHub
● github.com
● Free for open source/public projects
● Modest cost for private repository hosting
● Lots of nice goodies, including issue tracking
Git Workflow
● Depends on use case
● Teams
● Branches
● Remotes as “servers” a la cvs/svn
● Challenges integrating with DB based CMS
config changes
Got Questions?
● I might have answers
Michelle Murrain
● michelle@murrain.net
● @pearlbear on twitter
● pearlbear on d.o.

More Related Content

PPTX
Mono Repo
PPTX
Advantages and disadvantages of a monorepo
PDF
Monorepo at Pinterest
PDF
Local Community for Debian (2013 Taiwan miniDebConf)
PDF
Automated deployment
PPTX
Master the Monorepo
PDF
8-9-10=Jessie,Stretch,Buster
PDF
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Mono Repo
Advantages and disadvantages of a monorepo
Monorepo at Pinterest
Local Community for Debian (2013 Taiwan miniDebConf)
Automated deployment
Master the Monorepo
8-9-10=Jessie,Stretch,Buster
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...

What's hot (20)

ODP
Git: be social
ODP
Intro to XPages for Administrators (DanNotes, November 28, 2012)
PDF
Introduction To Dart (GDG NY Jan 2014 Meetup)
PDF
Composer
PDF
Atomic Developer Bundle
PDF
Kubernetes
PDF
Custom angular libraries
ODP
DevOps Cebu Presentation
ODP
Beginning python programming
ODP
Intro to CrunchBang / Linux Fest Northwest 2013
PDF
Profile all the things! - Capital Go 2017
PDF
What the HACK is HHVM?
ODP
Introduction to Vim 8.0
ODP
Debian packaging talk, Pysheff sept 2012
ODP
Vagrant and puppet: Deployment made easy
PDF
Goodpractice
PPTX
From NodeJS to Rust
ODP
Introducing Yeoman 1.0 beta
PDF
DIEMS Repository Server - GitLab
PDF
Stop Sucking at Building Stuff!
Git: be social
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Introduction To Dart (GDG NY Jan 2014 Meetup)
Composer
Atomic Developer Bundle
Kubernetes
Custom angular libraries
DevOps Cebu Presentation
Beginning python programming
Intro to CrunchBang / Linux Fest Northwest 2013
Profile all the things! - Capital Go 2017
What the HACK is HHVM?
Introduction to Vim 8.0
Debian packaging talk, Pysheff sept 2012
Vagrant and puppet: Deployment made easy
Goodpractice
From NodeJS to Rust
Introducing Yeoman 1.0 beta
DIEMS Repository Server - GitLab
Stop Sucking at Building Stuff!
Ad

Similar to Git In One Evening (20)

PDF
Intro to Git for Drupal 7
PDF
Harvard ABCD-WWW Git presentation
PPTX
Introduction to git hub
PDF
Git Pocket Guide A Working Introduction 1st Edition Richard E. Silverman
PDF
Version Control with Git
PDF
Mini git tutorial
PDF
Why Git Sucks and you'll use it anyways
PDF
Git: a tool for wizards
PDF
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
PDF
Version Control System - Git
KEY
Let's Git this Party Started: An Introduction to Git and GitHub
PPT
Introduction to git
PDF
Starting with Git & GitHub
PPTX
Introduction to GitHub, Open Source and Tech Article
PDF
Rc094 010d-git 2 - desconocido
ODP
Git slides
PDF
Github - Git Training Slides: Foundations
PPT
Git and GitHUB Explanation and simple coding for CLI
PPT
git2nvlkndvslnvdslnlknvdlnlvdsnlknsdvlkn.ppt
Intro to Git for Drupal 7
Harvard ABCD-WWW Git presentation
Introduction to git hub
Git Pocket Guide A Working Introduction 1st Edition Richard E. Silverman
Version Control with Git
Mini git tutorial
Why Git Sucks and you'll use it anyways
Git: a tool for wizards
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Version Control System - Git
Let's Git this Party Started: An Introduction to Git and GitHub
Introduction to git
Starting with Git & GitHub
Introduction to GitHub, Open Source and Tech Article
Rc094 010d-git 2 - desconocido
Git slides
Github - Git Training Slides: Foundations
Git and GitHUB Explanation and simple coding for CLI
git2nvlkndvslnvdslnlknvdlnlvdsnlknsdvlkn.ppt
Ad

More from Maxwell Pearl (10)

PDF
Cloudcomputing.072110
ODP
Open Source Software You Can Use
ODP
Drupal Webinar
ODP
Open Source Databases Webinar
ODP
Joomla Webinar
PPT
Open Source Blogging Tools
ODP
CRM Webinar
ODP
OpenOffice.Org Webinar 0208
ODP
Foss Support Webinar0108
ODP
Open Standards0607
Cloudcomputing.072110
Open Source Software You Can Use
Drupal Webinar
Open Source Databases Webinar
Joomla Webinar
Open Source Blogging Tools
CRM Webinar
OpenOffice.Org Webinar 0208
Foss Support Webinar0108
Open Standards0607

Recently uploaded (20)

PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Unlock new opportunities with location data.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPT
What is a Computer? Input Devices /output devices
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
STKI Israel Market Study 2025 version august
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PPT
Geologic Time for studying geology for geologist
DOCX
search engine optimization ppt fir known well about this
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
DP Operators-handbook-extract for the Mautical Institute
Hindi spoken digit analysis for native and non-native speakers
Unlock new opportunities with location data.pdf
A comparative study of natural language inference in Swahili using monolingua...
Getting started with AI Agents and Multi-Agent Systems
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
What is a Computer? Input Devices /output devices
1 - Historical Antecedents, Social Consideration.pdf
Zenith AI: Advanced Artificial Intelligence
Benefits of Physical activity for teenagers.pptx
Assigned Numbers - 2025 - Bluetooth® Document
Enhancing emotion recognition model for a student engagement use case through...
A novel scalable deep ensemble learning framework for big data classification...
STKI Israel Market Study 2025 version august
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
Geologic Time for studying geology for geologist
search engine optimization ppt fir known well about this

Git In One Evening

  • 1. Git in one Evening ● Who am I, and what is my context? ● Why use version control at all? ● What are the options? ● Why choose git? ● Git basics ● Github goodies ● Git as part of your workflow ● Questions and discussion
  • 2. Who am I, anyway? ● Long time developer (perl, php) ● Primarily work in Drupal ● I work with a small team – I'm the primary back-end dev, we have one themer ● I do sometimes contribute to the Drupal project.
  • 3. Why use version control? ● Also called “revision control” or “source control” ● Use cases (code == text files) – Solo, CMS site building, no custom code (useful at times) – Solo, CMS site building, custom code (theme files, etc.) (very useful) – Solo or Team, custom code (essential) – Team, CMS site building, custom code (essential)
  • 4. Version Control Options ● Old skool: CVS/SVN (client/server) ● New skool: Git, Bazaar, Mercurial (distributed) ● Git is by far the most popular, and has become the industry standard for version control. Used for the Linux kernel ● Mercurial is used by Python, and others ● Bazaar is used by Ubuntu, and supported by Canonical
  • 5. Distributed Version Control ● SVN (and its predecessor, CVS) had only one repository, and it was central. You committed code to that repository. Your working copy is only a copy of the code, with metadata (in the form of .svn directories). ● With distributed version control, everyone has a repository – so every version is basically a fork.
  • 6. Distributed Version Control, cont. ● Synchronization can happen by peers exchanging patches ● Commits, reverts, etc. are fast, because they happen locally. ● You can work productively (like on a plane) without having to connect to a server ● Branching and forking are a lot easier ● It is easier to contribute to open source projects
  • 7. Why Learn Git? ● It is distributed version control ● It is the most popular ● It is used for the drupal project (I notice wordpress is still using SVN.) ● It is in increasing use in PaaS systems (Heroku, etc.) ● You'll improve your chances of getting a job (git knowledge is increasingly asked for.)
  • 8. How to get git ● Linux – apt-get install git (Ubuntu/Debian) – yum install git-core (Fedora/CentOS) – Download from http://git-scm.com/ ● Mac OS X – Graphical Git installer:http://code.google.com/p/git-osx- installer – MacPorts ● Windows – http://msysgit.github.io/
  • 9. Git Tools ● IDEs/Editors that integrate with git – Eclipse – Netbeans – TextMate ● Git GUIs – Gitg – Katana – Others ● https://git.wiki.kernel.org/index.php/InterfacesF rontendsAndTools
  • 11. Basic Git ● Creating a git repository ● Cloning a git repository ● Making changes ● Viewing status ● Staging changes ● Committing changes ● Pushing and Pulling ● Undoing mistakes
  • 12. More Git Commands ● Clone a repository: ‘git clone ssh://user@domain/repo.git’ ● Add an origin: ‘git remote add <remote> user@domain/repo.git’ ● Pulling from a remote: ‘git pull <remote> <branch>
  • 14. Git Repository Hosting ● You could theoretically do peer-to-peer, but the standard is to have a “bare” repository hosted somewhere ● You can easily host it yourself on a VPS ● Commercial hosting options provide goodies – GitHub – Bitbucket – Others
  • 15. GitHub ● github.com ● Free for open source/public projects ● Modest cost for private repository hosting ● Lots of nice goodies, including issue tracking
  • 16. Git Workflow ● Depends on use case ● Teams ● Branches ● Remotes as “servers” a la cvs/svn ● Challenges integrating with DB based CMS config changes
  • 17. Got Questions? ● I might have answers
  • 18. Michelle Murrain ● [email protected] @pearlbear on twitter ● pearlbear on d.o.