SlideShare a Scribd company logo
#BeeTalks

Starting with
Git & GitHub

Nicolás Tourné @nicotourne
CTO of BeeReal
Tandil, Argentina - 2013
Agenda

•
•
•
•
•

What’s a Version Control System?
What the heck is Git?
Some Git commands

What’s about GitHub?
Git in Action!
What’s a Version Control System?

“An application that allows you to
record changes to your codebase in a
structured and controlled fashion.”
Why do I need that?

•
•
•

Makes it way easier to undo errors / roll
back to earlier versions of code
Makes it way easier to share a codebase
between developers without creating
conflicts
Makes it way easier to deploy changes
from development to staging or production
environments
Popular Version Control Systems

•
•
•
•
•
•

CVS - Concurrent Version System
SVN - SubVersioN
Git
Mercurial
Bazaar
LibreSource
What the heck is Git?

•
•
•
•
•

Distributed Source Control system
Open source, free (GNU GPL V2)
Originally developed by Linus Torvalds for
the development of the Linux Kernel in 2005
Focus on speed and efficiency
Quite a unique design and therefore
sometimes a bit scary and difficult to
understand
What the heck is Git?

•
•
•
•

Save snapshots, no differences
Branching (lightweight & fast)
Automatic merge of files

Used on personal or very large projects, and
for all size of teams
Distributed Development

•

•
•

Every Git working directory contains the
complete repository and history and full
revision tracking capabilities
You’re not dependent on a central server
and you don’t have to be online
It’s extremely fast - much faster than SVN,
CVS and other systems
Centralized vs Distributed
Development
SVN / CVS - Centralized development

Central

John

Peter

Bob

Carl
Centralized vs Distributed
Development
Git - Distributed development

John
Peter
Bob

Carl

Central
A Git Sample
1. A new git is initialized as a remote
repository
John

Remote repository

master
C0

Peter
A Git Sample
2. John and Peter clone the git repository
John

Remote repository

Peter

master

master

master

C0

C0

C0
A Git Sample
3. John does a commit
John

Remote repository

Peter

master

master

master

C1

C0

C0

C0
A Git Sample
4. John does a push
John

Remote repository

Peter

master

master

master

C1

C1

C0

C0

C0
A Git Sample
5. Peter does a pull
John

Remote repository

Peter

master

master

master

C1

C1

C1

C0

C0

C0
A Git Sample
6. John does a commit & push
John

Remote repository

Peter

master

master

master

C2

C2

C1

C1

C0

C0

C0

C0
A Git Sample
7. Peter does a commit
John

Remote repository

Peter

master

master

master

C2

C2

C3

C1

C1

C1

C0

C0

C0
A Git Sample
8. Peter does a pull (fetch & merge)
John

Remote repository

Peter

master

master

master

C2

C2

C4

C1

C1

C0

C0

C2

C3
C1
C0
A Git Sample
9. Peter does a push
John

Remote repository

Peter

master

master

master

C2

C4

C4

C1
C0

C2

C3

C2

C3

C1

C1

C0

C0
A Git Sample
10. John does a pull
John

Remote repository

Peter

master

master

master

C4

C4

C4

C2

C3

C2

C3

C2

C3

C1

C1

C1

C0

C0

C0
Git Commands
Getting and Creating projects
init
To create a git repository from an existing
directory of files
$ git init

clone
If you want to get a copy of a project, you
need to clone it
$ git clone [url]
Git Commands
Basic Snapshotting
git add
You have to add file contents to your staging
area before you can commit them
$ git add index.php

git status
View the status of your files in the working
directory and staging area
$ git status
Git Commands
Basic Snapshotting
git diff
Shows diff of what is staged and what is
modified but unstaged
$ git diff

git commit
Records a snapshot of the staging area
$ git commit -m “My comment”
Git Commands
Basic Snapshotting
git reset
Undo changed and commits
$ git reset

git rm
Remove files from the staging area
$ git rm index.php
Git Commands
Basic Snapshotting
git mv
Git doesn’t track file renames
$ git mv index.php index.html

git stash
Save changes made in the current index and
working directory for later
$ git stash
Git Commands
Branching and Merging
git branch
List, create and manage branches
$ git branch
$ git branch QA

git checkout
Switch to a new branch context
$ git checkout QA
$ git checkout -b live
Git Commands
Branching and Merging
git merge
Merge a branch context into your current one
$ git branch
$ git merge QA

git log
Show commit history of a branch
$ git log
Git Commands
Branching and Merging
git tag
Tag a point in history as important
$ git tag -a v1.0
Git Commands
Sharing and Updating Projects
git fetch
Download new branches and data from
remote repository
$ git fetch

git pull
Fetch from a remote repo and try to merge
into the current branch
$ git pull
Git Commands
Sharing and Updating Projects
git push
Push your new branches and data to a remote
repository
$ git push
What's about GitHub?

•
•
•

It’s a Git repository hosting service… but it
adds many of its own features
While Git is a command line tool, GitHub
provides a web-based graphical interface
It also provides access control and several
collaboration features, such as wikis and
basic task management tools
What's about GitHub?

•
•
•

By default, all projects are public and free. In
you want a private project, then pay
You can clone any public repository, follow
projects and developers, post comments, etc
It’s becoming the Facebook’s for developers
Git in Action!
Go to your computer and start playing...
1. Create a new repository on GitHub
2. Clone this repository
3. Add new files
4. Commit and push them
5. Create a new branch and merge files
Thank you
for your attention!
Questions?
Just tweet me @nicotourne
or mail me at ntourne@beerealit.com
beerealit.com
More info at...
Official Git site
http://git-scm.com
Some slides
http://www.slideshare.net/jomikr/quick-introduction-to-git
http://www.slideshare.net/reallyordinary/intro-to-git-for-drupal-7

http://www.slideshare.net/anildigital/git-introduction
http://www.slideshare.net/chacon/getting-git
Git commands

http://gitref.org/basic
GitHub site
http://github.com
Ad

More Related Content

What's hot (20)

Github basics
Github basicsGithub basics
Github basics
Radoslav Georgiev
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
Panagiotis Papadopoulos
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
Senthilkumar Gopal
 
Learning git
Learning gitLearning git
Learning git
Sid Anand
 
Git basics
Git basicsGit basics
Git basics
GHARSALLAH Mohamed
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction Tutorial
Thomas Rausch
 
Git training v10
Git training v10Git training v10
Git training v10
Skander Hamza
 
git and github
git and githubgit and github
git and github
Darren Oakley
 
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
 
Github
GithubGithub
Github
MeetPatel710
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
Behzad Altaf
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
Anurag Upadhaya
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
GoogleDevelopersStud1
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
Somkiat Puisungnoen
 
Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
Safique Ahmed Faruque
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
jstack
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
Taisuke Inoue
 
Git real slides
Git real slidesGit real slides
Git real slides
Lucas Couto
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
Nilay Binjola
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
Lee Hanxue
 

Similar to Starting with Git & GitHub (20)

Github
GithubGithub
Github
Jayesh Katta Ramalingaiah
 
Let's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubLet's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHub
Kim Moir
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
PRIYATHAMDARISI
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
Betclic Everest Group Tech Team
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
Kishor Kumar
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
Naveen Pandey
 
Git presentation
Git presentationGit presentation
Git presentation
Vikas Yaligar
 
Version Control System-git status,git add,git commit,git log.pptx
Version Control System-git status,git add,git commit,git log.pptxVersion Control System-git status,git add,git commit,git log.pptx
Version Control System-git status,git add,git commit,git log.pptx
ChayapathiAR
 
Intro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostIntro to Git, GitHub, and Devpost
Intro to Git, GitHub, and Devpost
Andrew Kerr
 
git and github-1.pptx
git and github-1.pptxgit and github-1.pptx
git and github-1.pptx
tnscharishma
 
O365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltO365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van Rousselt
NCCOMMS
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
Colin Su
 
GitHub Event.pptx
GitHub Event.pptxGitHub Event.pptx
GitHub Event.pptx
KeerthanaJ32
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
Lorna Mitchell
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
Robert Lee-Cann
 
Introduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptxIntroduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptx
Abdul Salam
 
Git overview
Git overviewGit overview
Git overview
Gowarthini
 
Version control git day02
Version control   git day02Version control   git day02
Version control git day02
Gourav Varma
 
3 Git
3 Git3 Git
3 Git
Fabio Fumarola
 
Git interview questions | Edureka
Git interview questions | EdurekaGit interview questions | Edureka
Git interview questions | Edureka
Edureka!
 
Let's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubLet's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHub
Kim Moir
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
PRIYATHAMDARISI
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
Kishor Kumar
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
Naveen Pandey
 
Version Control System-git status,git add,git commit,git log.pptx
Version Control System-git status,git add,git commit,git log.pptxVersion Control System-git status,git add,git commit,git log.pptx
Version Control System-git status,git add,git commit,git log.pptx
ChayapathiAR
 
Intro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostIntro to Git, GitHub, and Devpost
Intro to Git, GitHub, and Devpost
Andrew Kerr
 
git and github-1.pptx
git and github-1.pptxgit and github-1.pptx
git and github-1.pptx
tnscharishma
 
O365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltO365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van Rousselt
NCCOMMS
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
Colin Su
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
Lorna Mitchell
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
Robert Lee-Cann
 
Introduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptxIntroduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptx
Abdul Salam
 
Version control git day02
Version control   git day02Version control   git day02
Version control git day02
Gourav Varma
 
Git interview questions | Edureka
Git interview questions | EdurekaGit interview questions | Edureka
Git interview questions | Edureka
Edureka!
 
Ad

Recently uploaded (20)

Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Ad

Starting with Git & GitHub

  • 1. #BeeTalks Starting with Git & GitHub Nicolás Tourné @nicotourne CTO of BeeReal Tandil, Argentina - 2013
  • 2. Agenda • • • • • What’s a Version Control System? What the heck is Git? Some Git commands What’s about GitHub? Git in Action!
  • 3. What’s a Version Control System? “An application that allows you to record changes to your codebase in a structured and controlled fashion.”
  • 4. Why do I need that? • • • Makes it way easier to undo errors / roll back to earlier versions of code Makes it way easier to share a codebase between developers without creating conflicts Makes it way easier to deploy changes from development to staging or production environments
  • 5. Popular Version Control Systems • • • • • • CVS - Concurrent Version System SVN - SubVersioN Git Mercurial Bazaar LibreSource
  • 6. What the heck is Git? • • • • • Distributed Source Control system Open source, free (GNU GPL V2) Originally developed by Linus Torvalds for the development of the Linux Kernel in 2005 Focus on speed and efficiency Quite a unique design and therefore sometimes a bit scary and difficult to understand
  • 7. What the heck is Git? • • • • Save snapshots, no differences Branching (lightweight & fast) Automatic merge of files Used on personal or very large projects, and for all size of teams
  • 8. Distributed Development • • • Every Git working directory contains the complete repository and history and full revision tracking capabilities You’re not dependent on a central server and you don’t have to be online It’s extremely fast - much faster than SVN, CVS and other systems
  • 9. Centralized vs Distributed Development SVN / CVS - Centralized development Central John Peter Bob Carl
  • 10. Centralized vs Distributed Development Git - Distributed development John Peter Bob Carl Central
  • 11. A Git Sample 1. A new git is initialized as a remote repository John Remote repository master C0 Peter
  • 12. A Git Sample 2. John and Peter clone the git repository John Remote repository Peter master master master C0 C0 C0
  • 13. A Git Sample 3. John does a commit John Remote repository Peter master master master C1 C0 C0 C0
  • 14. A Git Sample 4. John does a push John Remote repository Peter master master master C1 C1 C0 C0 C0
  • 15. A Git Sample 5. Peter does a pull John Remote repository Peter master master master C1 C1 C1 C0 C0 C0
  • 16. A Git Sample 6. John does a commit & push John Remote repository Peter master master master C2 C2 C1 C1 C0 C0 C0 C0
  • 17. A Git Sample 7. Peter does a commit John Remote repository Peter master master master C2 C2 C3 C1 C1 C1 C0 C0 C0
  • 18. A Git Sample 8. Peter does a pull (fetch & merge) John Remote repository Peter master master master C2 C2 C4 C1 C1 C0 C0 C2 C3 C1 C0
  • 19. A Git Sample 9. Peter does a push John Remote repository Peter master master master C2 C4 C4 C1 C0 C2 C3 C2 C3 C1 C1 C0 C0
  • 20. A Git Sample 10. John does a pull John Remote repository Peter master master master C4 C4 C4 C2 C3 C2 C3 C2 C3 C1 C1 C1 C0 C0 C0
  • 21. Git Commands Getting and Creating projects init To create a git repository from an existing directory of files $ git init clone If you want to get a copy of a project, you need to clone it $ git clone [url]
  • 22. Git Commands Basic Snapshotting git add You have to add file contents to your staging area before you can commit them $ git add index.php git status View the status of your files in the working directory and staging area $ git status
  • 23. Git Commands Basic Snapshotting git diff Shows diff of what is staged and what is modified but unstaged $ git diff git commit Records a snapshot of the staging area $ git commit -m “My comment”
  • 24. Git Commands Basic Snapshotting git reset Undo changed and commits $ git reset git rm Remove files from the staging area $ git rm index.php
  • 25. Git Commands Basic Snapshotting git mv Git doesn’t track file renames $ git mv index.php index.html git stash Save changes made in the current index and working directory for later $ git stash
  • 26. Git Commands Branching and Merging git branch List, create and manage branches $ git branch $ git branch QA git checkout Switch to a new branch context $ git checkout QA $ git checkout -b live
  • 27. Git Commands Branching and Merging git merge Merge a branch context into your current one $ git branch $ git merge QA git log Show commit history of a branch $ git log
  • 28. Git Commands Branching and Merging git tag Tag a point in history as important $ git tag -a v1.0
  • 29. Git Commands Sharing and Updating Projects git fetch Download new branches and data from remote repository $ git fetch git pull Fetch from a remote repo and try to merge into the current branch $ git pull
  • 30. Git Commands Sharing and Updating Projects git push Push your new branches and data to a remote repository $ git push
  • 31. What's about GitHub? • • • It’s a Git repository hosting service… but it adds many of its own features While Git is a command line tool, GitHub provides a web-based graphical interface It also provides access control and several collaboration features, such as wikis and basic task management tools
  • 32. What's about GitHub? • • • By default, all projects are public and free. In you want a private project, then pay You can clone any public repository, follow projects and developers, post comments, etc It’s becoming the Facebook’s for developers
  • 33. Git in Action! Go to your computer and start playing... 1. Create a new repository on GitHub 2. Clone this repository 3. Add new files 4. Commit and push them 5. Create a new branch and merge files
  • 34. Thank you for your attention! Questions? Just tweet me @nicotourne or mail me at [email protected] beerealit.com
  • 35. More info at... Official Git site http://git-scm.com Some slides http://www.slideshare.net/jomikr/quick-introduction-to-git http://www.slideshare.net/reallyordinary/intro-to-git-for-drupal-7 http://www.slideshare.net/anildigital/git-introduction http://www.slideshare.net/chacon/getting-git Git commands http://gitref.org/basic GitHub site http://github.com