SlideShare a Scribd company logo
An intro to GIT
Orlando Code Camp 2017
Misnomers about GIT?
● It's too hard to use.
● It's only command line based.
● My project is too big and complicated
for that.
● Takes too long to use.
Why use this tool?
● Multiple backups fast
● Work in parallel on the same
file
● Develop features in
different ‘versions’ or
branches
● Fast rollback and feature
switching
● It’s a skill in high demand
My Path to Version Control
● Lots of information.
● What’s the ‘best’?
● How do I do ‘X’?
● GIT, SVN, etc?
● What do I want out of
version control?
GIT Words
add
am
apply
archive
bisect
blame
branch
bundle
cat-file
checkout
cherry-pick
clean
clone
commit
commit-tree
config
count-objects
daemon
describe
diff
diff-index
fast-import
fetch
filter-branch
for-each-ref
format-patch
fsck
gc
gitk
grep
hash-object
help
init
instaweb
log
ls-files
ls-tree
merge
merge-base
mergetool
mv
pop
prune
pull
push
read-tree
rebase
reflog
remote
request-pull
reset
revert
rev-list
rev-parse
rm
send-email
shortlog
show
show-ref
stage
stash
status
submodule
svn
symbolic-ref
tag
update-index
update-ref
update-server-info
verify-pack
write-tree
GIT Words
add
am
apply
archive
bisect
blame
branch
bundle
cat-file
checkout
cherry-pick
clean
clone
commit
commit-tree
config
count-objects
daemon
describe
diff
diff-index
fast-import
fetch
filter-branch
for-each-ref
format-patch
fsck
gc
gitk
grep
hash-object
help
init
instaweb
log
ls-files
ls-tree
merge
merge-base
mergetool
mv
pop
prune
pull
push
read-tree
rebase
reflog
remote
request-pull
reset
revert
rev-list
rev-parse
rm
send-email
shortlog
show
show-ref
stage
stash
status
submodule
svn
symbolic-ref
tag
update-index
update-ref
update-server-info
verify-pack
write-tree
Tool that we’ll use
Let’s Start !
Clone/ Init
Creates a new repo or copies
an existing one
You can always add ‘remotes’
but it's easier to start
from there.
Typical Workflow
Add Stage Commit Push Pull
remote
Add
Tells GIT to start
tracking the files.
Ignore allows you to
not track files in a
folder - compiled
files or temp files
typically.
Add
Stage
Lets you get your
commit where you want
it.
TIP:
You can split your
changes into multiple
commits for tracking.
Stage
Commit
Snapshot in time of your
project.
Be detailed on your
descriptions. You’ll
thank yourself later and
so will the other
contributors to the
project.
Commit
Commit
Commit
push
Sends your commits to a
centralized server.
Note: there are different
types of workflows. We
are referencing the
‘centralized’ workflow.
Push
Remote
A place where your
code is hosted.
remote
Pull
Brings changes committed
to the remote into your
branch.
Pull
Workflow Once More
Add Stage Commit Push Pull
remote
Branches!
Branch
A place to work which does
not affect the main project.
Develop
Master
You can name your
branches whatever
you want.
This is now the current branch
Checkout
Switches the branch you are on.
Develop
Master
Merge
Brings a branch into another. Be
cautious of conflicts.
Develop
Master
Merge happens
on this commit
Reset
Lets you move around in time on
your project. Really useful when
looking for bug introductions.
Reset to here
v1.0 v1.1 v1.2 v1.3
GIT Flow Workflow
v1.0 v1.1 v1.2
Hotfix
Develop
Feature
Release
Master
Appendix
● https://www.atlassian.com
● http://www.mnu.edu/business/software-skills-demand
● https://xkcd.com/1296/
● https://xkcd.com/1597/
● http://danielkummer.github.io/git-flow-cheatsheet/
● https://training.github.com/classes/essentials/
● https://www.gitlab.com/
● https://github.com/
● https://www.sourcetreeapp.com/
About Me
I've been dabbling with code since the late 90's and
currently work with Microsoft Business Intelligence
products. When given the chance, I write single page
applications in JavaScript. I'm also a stickler for
automating as much of the day to day tasks as I can. When
I'm not coding I enjoy camping and hanging out with my wife
and sons.
Email: Dan@ShraderLand.com

More Related Content

What's hot (20)

PDF
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GITS Indonesia
 
PDF
Git-flow workflow and pull-requests
Bartosz Kosarzycki
 
PPT
Flash Camp Chennai - Build automation of Flex and AIR applications
RIA RUI Society
 
PDF
Continuous delivery journey - Montgomery county JUG
Raphaël Brugier
 
PDF
Jenkins vs GitLab CI
CEE-SEC(R)
 
PDF
Git for Beginners
Rick Umali
 
PPTX
Is a ORCHESTRATION a new milestone?
Piotr Perzyna
 
PDF
Pipeline all the Dashboards as Code
Kris Buytaert
 
PPT
Migrating to git
Xpand IT
 
PDF
Git essentials
Otto Kekäläinen
 
PPTX
My Git workflow
Rui Carvalho
 
PDF
Intro to Gitflow
Ben Speakmon
 
PDF
What's New in GitLab and Software Development Trends
Noa Harel
 
PDF
Git for folk who like GUIs
Tim Osborn
 
PDF
Alexey Kupriyanenko "Release Early, Often, Stable"
Fwdays
 
PDF
Branch to branch by Photis Patriotis
Prolific Interactive
 
ODP
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Parag Gajbhiye
 
PDF
Travis ci
Mahyuddin Mahyuddin
 
PPTX
Git in Continuous Deployment
Brett Child
 
PPTX
Continuous integration in games development
Nebojsa Brindic
 
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GITS Indonesia
 
Git-flow workflow and pull-requests
Bartosz Kosarzycki
 
Flash Camp Chennai - Build automation of Flex and AIR applications
RIA RUI Society
 
Continuous delivery journey - Montgomery county JUG
Raphaël Brugier
 
Jenkins vs GitLab CI
CEE-SEC(R)
 
Git for Beginners
Rick Umali
 
Is a ORCHESTRATION a new milestone?
Piotr Perzyna
 
Pipeline all the Dashboards as Code
Kris Buytaert
 
Migrating to git
Xpand IT
 
Git essentials
Otto Kekäläinen
 
My Git workflow
Rui Carvalho
 
Intro to Gitflow
Ben Speakmon
 
What's New in GitLab and Software Development Trends
Noa Harel
 
Git for folk who like GUIs
Tim Osborn
 
Alexey Kupriyanenko "Release Early, Often, Stable"
Fwdays
 
Branch to branch by Photis Patriotis
Prolific Interactive
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Parag Gajbhiye
 
Git in Continuous Deployment
Brett Child
 
Continuous integration in games development
Nebojsa Brindic
 

Similar to An intro to git (20)

PDF
Intermediate git
Dan Shrader
 
PPTX
Git
Shinu Suresh
 
PPT
Embracing Distributed Version Control
Nowell Strite
 
PDF
Trunk based development
go_oh
 
PPTX
Introduction to git & github
Vinothini KadambavanaSundaram
 
PPTX
01 - Git vs SVN
Edward Goikhman
 
PPTX
Git essential training & sharing self
Chen-Tien Tsai
 
PPT
Version Control ThinkVitamin
Alex Hillman
 
PDF
BLUG 2012 Version Control for Notes Developers
Martin Jinoch
 
PPTX
git Technologies
Hirantha Pradeep
 
PDF
Microservices Development Process at Predix.io
Constantine Grigel
 
PDF
Git
Mayank Patel
 
PDF
VCS for Teamwork - GIT Workshop
Anis Ahmad
 
PPTX
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
GDSCNiT
 
PPTX
Lets git to it
Yoram Michaeli
 
PPTX
Essential Tools for Modern PHP
Alex Weissman
 
PDF
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Michael Lihs
 
PPTX
drupal ci cd concept cornel univercity.pptx
rukuntravel
 
PDF
[WroclawJUG] Continuous Delivery in OSS using Shipkit
MarcinStachniuk
 
PDF
Git 101: Force-sensitive to Jedi padawan
James Ford
 
Intermediate git
Dan Shrader
 
Embracing Distributed Version Control
Nowell Strite
 
Trunk based development
go_oh
 
Introduction to git & github
Vinothini KadambavanaSundaram
 
01 - Git vs SVN
Edward Goikhman
 
Git essential training & sharing self
Chen-Tien Tsai
 
Version Control ThinkVitamin
Alex Hillman
 
BLUG 2012 Version Control for Notes Developers
Martin Jinoch
 
git Technologies
Hirantha Pradeep
 
Microservices Development Process at Predix.io
Constantine Grigel
 
VCS for Teamwork - GIT Workshop
Anis Ahmad
 
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
GDSCNiT
 
Lets git to it
Yoram Michaeli
 
Essential Tools for Modern PHP
Alex Weissman
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Michael Lihs
 
drupal ci cd concept cornel univercity.pptx
rukuntravel
 
[WroclawJUG] Continuous Delivery in OSS using Shipkit
MarcinStachniuk
 
Git 101: Force-sensitive to Jedi padawan
James Ford
 
Ad

Recently uploaded (20)

PDF
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PDF
SAP GUI Installation Guide for Windows | Step-by-Step Setup for SAP Access
SAP Vista, an A L T Z E N Company
 
PDF
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PDF
AI Image Enhancer: Revolutionizing Visual Quality”
docmasoom
 
PDF
Troubleshooting Virtual Threads in Java!
Tier1 app
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PDF
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
PDF
System Center 2025 vs. 2022; What’s new, what’s next_PDF.pdf
Q-Advise
 
PDF
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PDF
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
SAP GUI Installation Guide for Windows | Step-by-Step Setup for SAP Access
SAP Vista, an A L T Z E N Company
 
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
AI Image Enhancer: Revolutionizing Visual Quality”
docmasoom
 
Troubleshooting Virtual Threads in Java!
Tier1 app
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
Presentation about variables and constant.pptx
kr2589474
 
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
System Center 2025 vs. 2022; What’s new, what’s next_PDF.pdf
Q-Advise
 
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
How to Download and Install ADT (ABAP Development Tools) for Eclipse IDE | SA...
SAP Vista, an A L T Z E N Company
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
Ad

An intro to git