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
Git vs SVN
Search
denkeni
March 12, 2015
Programming
0
240
Git vs SVN
A Git introduction for SVN users. Including bidirectional bridge Git-Svn.
denkeni
March 12, 2015
Tweet
Share
More Decks by denkeni
See All by denkeni
Defensive Security
denkeni
0
9
Who Owns Your Digital Identity 誰掌握你的數位身分?
denkeni
0
30
開放文化與資安管理的邊界
denkeni
0
84
開源公益專案能賺錢嗎?
denkeni
0
400
Unpredictable Sandbox Environment for IAP Auto-renewable Subscriptions
denkeni
0
620
IAP @ iPlayground 2020
denkeni
1
420
iOS 11 MapKit Annotation Clustering
denkeni
0
200
JavaScript: Basic rules for avoiding strange issues
denkeni
0
160
資訊科技的未來與展望(2014/01)
denkeni
0
280
Other Decks in Programming
See All in Programming
英語 × の私が、生成AIの力を借りて、OSSに初コントリビュートした話
personabb
0
150
Agentic Applications with Symfony
el_stoffel
1
160
RubyKaigiで手に入れた HHKB Studioのための HIDRawドライバ
iberianpig
0
1.1k
令和トラベルにおけるコンテンツ生成AIアプリケーション開発の実践
ippo012
1
270
Defying Front-End Inertia: Inertia.js on Rails
skryukov
0
370
自分のために作ったアプリが、グローバルに使われるまで / Indie App Development Lunch LT
pixyzehn
1
140
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
170
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
570
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
250
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
1.1k
Return of the Full-Stack Developer
simas
PRO
1
330
DataStoreをテストする
mkeeda
0
250
Featured
See All Featured
Statistics for Hackers
jakevdp
798
220k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
29
2k
Being A Developer After 40
akosma
90
590k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
The Pragmatic Product Professional
lauravandoore
33
6.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.4k
Transcript
Git vs SVN @denkeni
Git - first impressions • Distributed Version Control System •
Created by Linus Torvalds for Linux kernel project management. • Fast, lightweight. • GitHub • "Local branching on the cheap"
But git is more complex and requires more management than
svn, definitely.
Git SVN git clone svn checkout git checkout xxx.m svn
revert xxx.m git checkout $branch_name svn switch $branch_url git checkout $commit svn merge -r301:300 xxx.m svn commit git reset --hard HEAD svn revert -R . git pull (= git fetch + git merge) svn update git revert $commit -
Remote-dependent(SVN) vs Local-Remote(Git)
Uncommitted (Local) Committed (Remote) svn commit
Uncommitted (Local) Committed (Remote) svn commit Working space/directory Index /
Staging area Local repository Remote repository git add xxx.m git commit git push
A typical case of SVN One trunk development
svn update (solve conflicts) svn commit trunk Remote Local
Remote Local trunk
A typical case of git Branch merging development
master Remote Local master git branch $branch_name git checkout $branch_name
Remote Local master branch git commit master
Remote Local master git checkout master branch master
Remote Local master git merge $branch_name git push branch master
(other people pushed something)
Remote Local master branch master
(Git-SVN: Use Git client for SVN remote repository) My Git-SVN
Flow
trunk master Remote Local
Remote Local master trunk branch
Remote Local master trunk git svn rebase (≈git pull) (≈svn
update) branch
Remote Local trunk branch master
Remote Local trunk master git rebase master (solve conflicts) branch
Remote Local trunk master branch
Remote Local trunk master git rebase master -i (solve conflicts)
(squash commits into one) branch
Remote Local trunk master branch
Remote Local trunk master branch git merge branch
Remote Local trunk branch master
Remote Local trunk master git svn dcommit (≈git push) branch
Remote Local trunk master branch
"A successful Git branching model." Git Flow
None
None
Learning Resources • 《Pro Git》by Scott Chacon(範例多易學,有中文版) http://git-scm.com/book/ • Try
Git: Code School(線上學 Git 指令) https://try.github.io/ • ihower 的《Git版本控制系統》 http://ihower.tw/git/ • Will 保哥的《30 天精通 Git 版本控管》(深入淺出) https://github.com/doggy8088/Learn-Git-in-30-days • GitSvnComparison https://git.wiki.kernel.org/index.php/GitSvnComparsion • Tech Talk: Linus Torvalds on git http://youtu.be/4XpnKHJAok8