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
Introduction to Version Control
Search
Frederick Cheung
April 20, 2013
Technology
0
75
Introduction to Version Control
Lightning talk on version control from Rails Girls London.
Frederick Cheung
April 20, 2013
Tweet
Share
More Decks by Frederick Cheung
See All by Frederick Cheung
how_to_ab_test_with_confidence_railsconf.pdf
fcheung
0
52
Fixing Performance and Memory Problems (RubyWine)
fcheung
0
51
Fixing Performance and Memory Problems
fcheung
2
490
Asking questions
fcheung
0
49
Extending Ruby
fcheung
1
440
Other Decks in Technology
See All in Technology
東京Ruby会議12 Ruby と Rust と私 / Tokyo RubyKaigi 12 Ruby, Rust and me
eagletmt
3
940
トラブルシュートを楽しもう (wakamonog meeting 15)
recuraki
1
260
三菱電機で社内コミュニティを立ち上げた話
kurebayashi
1
360
AWS re:Invent 2024 re:Cap Taipei (for Developer): New Launches that facilitate Developer Workflow and Continuous Innovation
dwchiang
0
180
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
250
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
2
150
【JAWS-UG大阪 reInvent reCap LT大会 サンバが始まったら強制終了】“1分”で初めてのソロ参戦reInventを数字で振り返りながら反省する
ttelltte
0
150
My small contributions - Fujiwara Tech Conference 2025
ijin
0
1.5k
「人物ごとのアルバム」の精度改善の軌跡/Improving accuracy of albums by person
mixi_engineers
PRO
1
140
駆け出しリーダーとしての第一歩〜開発チームとの新しい関わり方〜 / Beginning Journey as Team Leader
kaonavi
0
130
30分でわかる「リスクから学ぶKubernetesコンテナセキュリティ」/30min-k8s-container-sec
mochizuki875
3
450
ABWGのRe:Cap!
hm5ug
1
130
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
4 Signs Your Business is Dying
shpigford
182
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Making the Leap to Tech Lead
cromwellryan
133
9k
Navigating Team Friction
lara
183
15k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Being A Developer After 40
akosma
89
590k
Visualization
eitanlees
146
15k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
Introduction to version control
Managing changes
• Wikipedia page history • google docs revision log •
track changes in Word
None
How does a good VCS help?
Saving our bacon • Store your code securely • Throw
away a change that doesn’t work • Find an older version that works • Find what change caused a problem
Working with others • Allow people to work together without
conflict • Avoid fragmentation of the codebase • Track who changed what, when, why
Experimenting in isolation • You don’t want to release a
half done or experimental feature • Create a copy of your codebase: a branch • When that feature is done, you merge that branch
Top tips
Lingo • You store code in a repository • You
checkout code from a repository • You commit changes back to the repository • When you commit a change you write a commit message explaining your changes
Keep commits small and focussed • Fix 1 bug •
Add 1 feature • Not all the work from 1 day
Commit messages are letters to your future self • Explain
what you are doing, and why you are doing • 1 line summary, plus longer discussion if needed
A bad commit message • Doesn’t tell you why you
made the change. • Doesn’t describe what the change was • Won’t make much sense 6 months from now Twiddle some CSS
A better commit message Fixed homepage rendering bug on firefox
16 Firefox incorrectly calculates padding when nesting a something element in a something else element.
There are many revision control systems • git, mercurial, bazaar,
svn, darcs, perforce etc. • git is the most popular in the rails community
Where to go from here • Install git! • Free
git hosting at github.com • The git book - http://git-scm.com/book • GUIs: Tower, github for mac/windows
Version control is for everyone!