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
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
840
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
140
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
220
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
7.5k
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
150
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
2
430
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
4
370
Sets in Go
ramalho
1
950
事業価値と Engineering 2026年度版
recruitengineers
PRO
50
24k
TypeScript入門 2026
recruitengineers
PRO
3
660
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
3
25k
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
210
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
650
Building Applications with DynamoDB
mza
96
7.2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Docker and Python
trallard
47
4.1k
How to Ace a Technical Interview
jacobian
281
24k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Bash Introduction
62gerente
615
220k
Scaling GitHub
holman
464
140k
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!