Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Learning Git
Search
Rob Dumas
October 16, 2012
Technology
5.1k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Learning Git
From a talk I gave to the Chicagoland Library Drupal Group.
Rob Dumas
October 16, 2012
More Decks by Rob Dumas
See All by Rob Dumas
Git in 5 Minutes
bitsandbooks
9
2k
Other Decks in Technology
See All in Technology
データエンジニアリングとドメイン駆動設計
masuda220
PRO
14
2.6k
「顧客の声を聞かなければ何も始まらない」 ── 顧客の声から生まれた『AI返信補助機能』の開発プロセス / AICon2026_shikata_imai
rakus_dev
1
270
現場との対話から始める “作る前に問い直す”業務改善
mochico50
2
280
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
180
システム監視入門
grimoh
1
380
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
5
540
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
280
_NIKKEI_Tech_Talk__勉強会は熱量では続かない___17回続いた輪読会の設計術.pdf
_awache
2
110
事業成長とAI活用を止めないデータ基盤アーキテクチャの設計思想
hiracky16
0
680
20260720_クラウド女子会×PyLadiesTokyoコラボ Amazon Bedrock ハンズオン用資料
yuuka51
2
120
複数プロダクトで進めるAI機能実装 ── 実践から得たリアルな学びとロードマップ実現への挑戦 / AICon2026_yanari
rakus_dev
1
280
Jitera Company Deck
jitera
0
490
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Music & Morning Musume
bryan
47
7.3k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
430
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
KATA
mclloyd
PRO
35
15k
Visualization
eitanlees
152
17k
Ruling the World: When Life Gets Gamed
codingconduct
0
290
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
620
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Facilitating Awesome Meetings
lara
57
7k
Transcript
version control
rob dumas chicago public library @stray
✓why version control? ✓installing git ✓your first repository ✓branching &
merging in this lecture:
r2d.to/gitstart links
we’re all victims of data loss; some of us just
don’t know it…yet.
BACKUPS ARE REALLY F**KING IMPORTANT photo credit: alexander muse (flic.kr/p/noL2K)
snapshots
snapshots
1.0 2.0 3.0 4.0 5.0 developers work in teams and
need to track the changes to their code over time
version control
version control change joel on software: “distributed version contol is
here to say, baby” (r2d.to/QJw8lr)
✓ what files have changed ✓ who made those changes
✓ when the changes were made ✓ how those changed files differ ✓ why they were changed (hopefully) accountability
wikipedia record of changes to articles over time
git-scm.com
what’s so GREAT about git?
✓ no cost (“free as in beer”) ✓ gpl version
2 (“free as in speech”) gnu.org/licenses/gpl-2.0.html git is free & open source
✓ built for any size group ✓ encourages non-linear development
✓ complete local repositories git is local & distributed
✓ “deltas” for efficiency (binary files stored whole) ✓ cryptographically-authenticated
history using SHA1 hashes ✓ commits are atomic git is fast & secure
git is stable & popular
installing git git-scm.com/downloads sudo apt-get install git brew install git
(or yum) (requires xcode & homebrew)
git-scm.com/downloads/guis baked right in other git gui apps textmate bundle
netbeans xcode and more!
for windows users peepcode.com/products/ meet-the-command-line
is git installed? $ git -‐-‐version git version 1.7.12.1
~/.gitconfig $ git config -‐-‐global user.name "Joe User" $
git config -‐-‐global user.email "
[email protected]
"
basic workflow create/ clone repository make changes commit changes stage
changes 1 2 3 4
photo credit: muy yum (flic.kr/p/7ByV6Y) stage work area git
git basics
creating a repository $ mkdir myproject $ cd myproject $
git init Initialized empty Git repository in ~/myproject/.git/
myproject/.git/ don’t touch these files!
cloning a repository $ git clone REPO_LOCATION Cloning into 'myproject'...
remote: Counting objects: 36, done. remote: Compressing objects: 100% (33/33), done. remote: Total 36 (delta 10), reused 29 (delta 3) Receiving objects: 100% (36/36), 7.13 KiB, done. Resolving deltas: 100% (10/10), done. folder or URL
repo status (“clean”) $ git status # On branch master
nothing to commit (working directory clean)
repo status (“dirty”) $ git status # On branch master
# Untracked files: # (use "git add <file>..." to include in what will be committed) # # myfile.html nothing added to commit but untracked files present (use "git add" to track)
adding files $ git add myfile.html you have to add
the files you’ve changed each time you commit!
repo status (staged) $ git status # On branch master
# Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: myfile.html #
committing changes $ git commit -‐m "Added new file,
myfile.html, to repo." [master (root-‐commit) b80da17] Added new file, myfile.html, to repo. 0 files changed create mode 100644 myfile.html
other commands $ git log $ git diff COMMIT_HASH $
git rm $ git mv
.gitignore nuclear-‐launch-‐codes.txt source/* *.temp put files, folders and patterns in
this file to tell git to ignore them.
branching & merging
master
master dev
master dev
creating a branch $ git branch awesome $ git checkout
awesome Switched to branch 'awesome'
merging a branch $ git checkout master Switched to branch
'master' $ git merge awesome Updating 5bed678..217f575 Fast-‐forward myfile.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 myfile.txt
the ‘stache
the stash $ git stash $ git stash apply $
git stash list $ git stash drop STASH_ID
v1.0 master dev tagging
tagging $ git tag -‐a v1.0 -‐m "Product release"
$ git tag -‐a ronburgundy -‐m "Brick killed a guy with a trident."
distributed git
push & pull $ git push origin master $ git
pull origin master
git on the server ✓your own git server ✓github
github image source: the octodex (octodex.github.com)
further reading
get started with git alistapart.com/articles/get-started-with-git
Version Control with Git 2nd. Edition by Loeliger & McCullough
© 2012 O’Reilly Media ISBN 978-1-4493-1638-9 r2d.to/oreillygitbook
r2d.to/gitstart links
thank you!