SlideShare a Scribd company logo
Workflow
an opinionated discussion
Grad Student, MIMS’14
Shreyas
seekshreyas
some slides adopted from and inspired by Scott Schacon’s
https://github.com/schacon/git-presentations
We’ve all been here ...
We’ve all been here ...
We’ve all been here ...
Problems
• multiple versions
• many contributors
• ...
conflicts
git + Github
a better workflow
git
git is an open source,
distributed version control
system designed for speed
and efficiency
git
git is an open source,
distributed version control
system designed for speed
and efficiency
git
git is an open source,
distributed version control
system designed for speed
and efficiency
git
git is an open source,
distributed version control
system designed for speed
and efficiency
(almost) everything is local
No Network needed for
(almost) everything is local
• Performing a diff
• Viewing file history
• Committing changes
• Merging branches
• Obtaining any other revision of a file
• Switching branches
git
git is an open source,
distributed version control
system designed for speed
and efficiency
http://bit.ly/git-linus-intro
ttp://bit.ly/git-advantages
More Advantages
.. and
• No .svn directories
• Independence
installing git
http://git-scm.com/downloads
getting setup ...
$ git config --global user.name
“<YOUR_NAME>”
$ git config --global user.email
“<YOUR_EMAIL>”
or edit them in ~/.gitconfig
lets dive in..
gitref.org/
• Creating New Repo
• Committing
• Branching/Merging
• InspectionCloning a
RepoUpdating
lets dive in..
• Creating New Repo
• Committing
• Branching/Merging
• Inspection
• Cloning a Repo
• Updating
http://git-scm.com/docs
Git Commands
$ git init
$ ls -al
$ git init
$ ls -al
$ mkdir workspace
$ cd workspace
Initialized empty Git repository in
../workspace/.git/
drwxr-xr-x 10 Shreyas staff 340 Jan 15
17:22 .git
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
Git Commands
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
$ cd .git
$ tree -a
Git Commands
$ git status
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
$ cd ..
$ touch testfile.md
branch
name
staging area
Git Commands
$ git add
<filename>
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
staging area
$ git status
Git Commands
$ git commit
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
your commit
msg
$ git status
Git Commands
$ git reset
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
(undo add)
changes staged
changes
unstaged
Git Commands
$ git reset --soft HEAD^
• Creating New
Repo
• Committing
• Branching/
Merging
• Updating
• Inspection
• Cloning A Repo
(undo a commit and
redo)
$ git reset --hard
HEAD~3
Rewind the branch to get rid of last three commits
http://git-scm.com/docs/git-r
eset
http://git-scm.com/docs/git-rev
ert.html
learn more here :
also refer
git revert :
http://git-scm.com/docs/git-sta
sh
git stash :
Git Commands
$ git rm <filename>
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
remove a file from the
repo
as expected, you will need to commit the
change
$ git mv <filename>
move/rename a file from the repo
as expected, you will need to commit the
change
Git Commands
$ git branch
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
list of branches
$ git branch
<branchname>
new branch
$ git checkout
<branchname>
switch
Git Commands
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
new branch
dev
switch branch
branch list
Git Commands
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
$ git merge
<branchname>
merge
branches
branch merge
Git Commands
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
$ git log
--graph
--decorate
--abbrev-commit
--all
--pretty=oneline
text-based graph :)
Git Commands
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
~/.gitconfig
[alias]
l = log --pretty=oneline -n 20 --
graph
Git Commands
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
$ gitk
Working with others...
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
github
GitHub
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
create an account
www.github.com/edu
GitHub
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
add ssh key
www.github.com/edu
GitHub
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
$ git clone <url>
<name>
https://github.com/jblomo/
datamining290
GitHub
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
Fork a repo
GitHub
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
$ git pull
$ git push
= git fetch + git merge
GitHub
• Creating New
Repo
• Committing
• Branching/
Merging
• Inspection
• Cloning a Repo
• Updating
GitHub Pull Request
GitHub Ninja Features
Markdown for documentation
Pages for project hosting
Gist for project hosting
Service Hooks ‘do something’ on commit
may the Force be with you
Ad

Recommended

B4usolution git git-hub
B4usolution git git-hub
b4usolution .
 
Git demo for beginners-Learning path to evolve
Git demo for beginners-Learning path to evolve
chinnaraokandi3
 
Git and Github workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
gdsc13
 
Git Tech Talk
Git Tech Talk
Chris Johnson
 
Git Tutorial I
Git Tutorial I
Jim Yeh
 
Introduction into Git
Introduction into Git
Serhii Kartashov
 
Git training v10
Git training v10
Skander Hamza
 
Talk to git
Talk to git
YenTing Chen
 
Git workshop - University of Moratuwa, Department of Computer Science and Eng...
Git workshop - University of Moratuwa, Department of Computer Science and Eng...
WSO2
 
Demystifying Git
Demystifying Git
Pablo Quiroga
 
Demystifying Git
Demystifying Git
Pablo Quiroga
 
Introduction to Git and Github
Introduction to Git and Github
Roland Emmanuel Salunga
 
GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17
siva ram
 
Git
Git
Jie-Jyun Liu
 
簡單介紹git
簡單介紹git
Grace Chien
 
Let'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
 
Learning Basic GIT Cmd
Learning Basic GIT Cmd
srinathcox
 
Git session Dropsolid.com
Git session Dropsolid.com
dropsolid
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
Robert Lee-Cann
 
Git in a nutshell
Git in a nutshell
Pranesh Vittal
 
Git installation and configuration
Git installation and configuration
Kishor Kumar
 
14 oct Git & GitHub.pptx
14 oct Git & GitHub.pptx
GDSCGHRIETNagpur
 
Introduction To Git Workshop
Introduction To Git Workshop
themystic_ca
 
Git 101 for_tarad_dev
Git 101 for_tarad_dev
Somkiat Puisungnoen
 
sample.pptx
sample.pptx
UshaSuray
 
Introduction To Git
Introduction To Git
Nikhil Vishnu P.V
 
Git.pptx
Git.pptx
PalashIMS
 
Introduction git
Introduction git
Dian Sigit Prastowo
 
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Safe Software
 
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Tech Services
 

More Related Content

Similar to Distributed Version control using Git and Github (20)

Git workshop - University of Moratuwa, Department of Computer Science and Eng...
Git workshop - University of Moratuwa, Department of Computer Science and Eng...
WSO2
 
Demystifying Git
Demystifying Git
Pablo Quiroga
 
Demystifying Git
Demystifying Git
Pablo Quiroga
 
Introduction to Git and Github
Introduction to Git and Github
Roland Emmanuel Salunga
 
GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17
siva ram
 
Git
Git
Jie-Jyun Liu
 
簡單介紹git
簡單介紹git
Grace Chien
 
Let'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
 
Learning Basic GIT Cmd
Learning Basic GIT Cmd
srinathcox
 
Git session Dropsolid.com
Git session Dropsolid.com
dropsolid
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
Robert Lee-Cann
 
Git in a nutshell
Git in a nutshell
Pranesh Vittal
 
Git installation and configuration
Git installation and configuration
Kishor Kumar
 
14 oct Git & GitHub.pptx
14 oct Git & GitHub.pptx
GDSCGHRIETNagpur
 
Introduction To Git Workshop
Introduction To Git Workshop
themystic_ca
 
Git 101 for_tarad_dev
Git 101 for_tarad_dev
Somkiat Puisungnoen
 
sample.pptx
sample.pptx
UshaSuray
 
Introduction To Git
Introduction To Git
Nikhil Vishnu P.V
 
Git.pptx
Git.pptx
PalashIMS
 
Introduction git
Introduction git
Dian Sigit Prastowo
 
Git workshop - University of Moratuwa, Department of Computer Science and Eng...
Git workshop - University of Moratuwa, Department of Computer Science and Eng...
WSO2
 
GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17
siva ram
 
Let'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
 
Learning Basic GIT Cmd
Learning Basic GIT Cmd
srinathcox
 
Git session Dropsolid.com
Git session Dropsolid.com
dropsolid
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
Robert Lee-Cann
 
Git installation and configuration
Git installation and configuration
Kishor Kumar
 
Introduction To Git Workshop
Introduction To Git Workshop
themystic_ca
 

Recently uploaded (20)

Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Safe Software
 
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Tech Services
 
FME as an Orchestration Tool - Peak of Data & AI 2025
FME as an Orchestration Tool - Peak of Data & AI 2025
Safe Software
 
Software Testing & it’s types (DevOps)
Software Testing & it’s types (DevOps)
S Pranav (Deepu)
 
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Intelli grow
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
What is data visualization and how data visualization tool can help.pptx
What is data visualization and how data visualization tool can help.pptx
Varsha Nayak
 
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Natan Silnitsky
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
Emvigo Capability Deck 2025: Accelerating Innovation Through Intelligent Soft...
Emvigo Capability Deck 2025: Accelerating Innovation Through Intelligent Soft...
Emvigo Technologies
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
soulamaabdoulaye128
 
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Philip Schwarz
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Varsha Nayak
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 
Making significant Software Architecture decisions
Making significant Software Architecture decisions
Bert Jan Schrijver
 
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
certivoai
 
How Insurance Policy Management Software Streamlines Operations
How Insurance Policy Management Software Streamlines Operations
Insurance Tech Services
 
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Safe Software
 
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Underwriting Software Enhancing Accuracy and Efficiency
Insurance Tech Services
 
FME as an Orchestration Tool - Peak of Data & AI 2025
FME as an Orchestration Tool - Peak of Data & AI 2025
Safe Software
 
Software Testing & it’s types (DevOps)
Software Testing & it’s types (DevOps)
S Pranav (Deepu)
 
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Smart Financial Solutions: Money Lender Software, Daily Pigmy & Personal Loan...
Intelli grow
 
OpenTelemetry 101 Cloud Native Barcelona
OpenTelemetry 101 Cloud Native Barcelona
Imma Valls Bernaus
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
What is data visualization and how data visualization tool can help.pptx
What is data visualization and how data visualization tool can help.pptx
Varsha Nayak
 
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Natan Silnitsky
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
Emvigo Capability Deck 2025: Accelerating Innovation Through Intelligent Soft...
Emvigo Capability Deck 2025: Accelerating Innovation Through Intelligent Soft...
Emvigo Technologies
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
soulamaabdoulaye128
 
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Folding Cheat Sheet # 9 - List Unfolding 𝑢𝑛𝑓𝑜𝑙𝑑 as the Computational Dual of ...
Philip Schwarz
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Looking for a BIRT Report Alternative Here’s Why Helical Insight Stands Out.pdf
Varsha Nayak
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 
Making significant Software Architecture decisions
Making significant Software Architecture decisions
Bert Jan Schrijver
 
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
About Certivo | Intelligent Compliance Solutions for Global Regulatory Needs
certivoai
 
How Insurance Policy Management Software Streamlines Operations
How Insurance Policy Management Software Streamlines Operations
Insurance Tech Services
 
Ad

Distributed Version control using Git and Github

  • 1. Workflow an opinionated discussion Grad Student, MIMS’14 Shreyas seekshreyas some slides adopted from and inspired by Scott Schacon’s https://github.com/schacon/git-presentations
  • 2. We’ve all been here ...
  • 3. We’ve all been here ...
  • 4. We’ve all been here ...
  • 5. Problems • multiple versions • many contributors • ... conflicts
  • 6. git + Github a better workflow
  • 7. git git is an open source, distributed version control system designed for speed and efficiency
  • 8. git git is an open source, distributed version control system designed for speed and efficiency
  • 9. git git is an open source, distributed version control system designed for speed and efficiency
  • 10. git git is an open source, distributed version control system designed for speed and efficiency (almost) everything is local
  • 11. No Network needed for (almost) everything is local • Performing a diff • Viewing file history • Committing changes • Merging branches • Obtaining any other revision of a file • Switching branches
  • 12. git git is an open source, distributed version control system designed for speed and efficiency http://bit.ly/git-linus-intro ttp://bit.ly/git-advantages More Advantages
  • 13. .. and • No .svn directories • Independence
  • 15. getting setup ... $ git config --global user.name “<YOUR_NAME>” $ git config --global user.email “<YOUR_EMAIL>” or edit them in ~/.gitconfig
  • 16. lets dive in.. gitref.org/ • Creating New Repo • Committing • Branching/Merging • InspectionCloning a RepoUpdating
  • 17. lets dive in.. • Creating New Repo • Committing • Branching/Merging • Inspection • Cloning a Repo • Updating http://git-scm.com/docs
  • 18. Git Commands $ git init $ ls -al $ git init $ ls -al $ mkdir workspace $ cd workspace Initialized empty Git repository in ../workspace/.git/ drwxr-xr-x 10 Shreyas staff 340 Jan 15 17:22 .git • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating
  • 19. Git Commands • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating $ cd .git $ tree -a
  • 20. Git Commands $ git status • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating $ cd .. $ touch testfile.md branch name staging area
  • 21. Git Commands $ git add <filename> • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating staging area $ git status
  • 22. Git Commands $ git commit • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating your commit msg $ git status
  • 23. Git Commands $ git reset • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating (undo add) changes staged changes unstaged
  • 24. Git Commands $ git reset --soft HEAD^ • Creating New Repo • Committing • Branching/ Merging • Updating • Inspection • Cloning A Repo (undo a commit and redo) $ git reset --hard HEAD~3 Rewind the branch to get rid of last three commits http://git-scm.com/docs/git-r eset http://git-scm.com/docs/git-rev ert.html learn more here : also refer git revert : http://git-scm.com/docs/git-sta sh git stash :
  • 25. Git Commands $ git rm <filename> • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating remove a file from the repo as expected, you will need to commit the change $ git mv <filename> move/rename a file from the repo as expected, you will need to commit the change
  • 26. Git Commands $ git branch • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating list of branches $ git branch <branchname> new branch $ git checkout <branchname> switch
  • 27. Git Commands • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating new branch dev switch branch branch list
  • 28. Git Commands • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating $ git merge <branchname> merge branches branch merge
  • 29. Git Commands • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating $ git log --graph --decorate --abbrev-commit --all --pretty=oneline text-based graph :)
  • 30. Git Commands • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating ~/.gitconfig [alias] l = log --pretty=oneline -n 20 -- graph
  • 31. Git Commands • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating $ gitk
  • 32. Working with others... • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating github
  • 33. GitHub • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating create an account www.github.com/edu
  • 34. GitHub • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating add ssh key www.github.com/edu
  • 35. GitHub • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating $ git clone <url> <name> https://github.com/jblomo/ datamining290
  • 36. GitHub • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating Fork a repo
  • 37. GitHub • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating $ git pull $ git push = git fetch + git merge
  • 38. GitHub • Creating New Repo • Committing • Branching/ Merging • Inspection • Cloning a Repo • Updating GitHub Pull Request
  • 39. GitHub Ninja Features Markdown for documentation Pages for project hosting Gist for project hosting Service Hooks ‘do something’ on commit
  • 40. may the Force be with you

Editor's Notes

  • #2: we start off a project having a fair idea of what we are going to do ...
  • #3: soon we have multiple iterations, multiple versions...
  • #4: and then we have to collaborate, share...
  • #11: (almost) everything is local... branching, merging etc
  • #12: (almost) everything is local... branching, merging etc
  • #13: initially created by Linus Torvalds, now supported by a huge open source community ... field tested with Linux Kernel
  • #14: You don’t have to go ask someone to create a branch for you, or create a repo for you or request a branch merge.. you do as you please with YOUR copy.
  • #15: We’ll be using the git command line interface, but feel free to choose your preferred solution GUIs, Editor Extension etc
  • #23: Although, I like working in small steps, here are some shortcuts git commit -m “<your msg>” [doesn’t open up the editor for msg] git commit -am “<your msg>” [adds the files tracked and uses msg on command-line]
  • #36: now do a demo of jim workflow
  • #37: now show them a demo of creating ssh key on my ischool account
  • #39: show the students
  • #40: show the students