7/27/2019 A Visual Guide to Version Control _ BetterExplained
1/54
rsion Control (aka Revision Control aka Source Control) lets you track your files over time. Why do you
re? So when you mess up you can easily get back to a previous working version.
ouve probably cooked up your own version control system without realizing it had such a geeky name.
ot any files like this? (Not these exact ones I hope).
KalidAzadResumeOct2006.doc
KalidAzadResumeMar2007.doc
instacalc-logo3.pnginstacalc-logo4.png
logo-old.png
s why we use Save As. You want the new file without obliterating the old one. Its a common problem,
d solutions are usually like this:
Make a single backup copy (Document.old.txt).
If were clever, we add a version number or date: Document_V1.txt, DocumentMarch2007.txt
We may even use a shared folder so other people can see and edit files without sending them over
email. Hopefully they relabel the file after they save it.
o Why Do We Need A Version Control System (VCS)?
ur shared folder/naming system is fine for class projects or one-time papers. But software projects? Not a
ance.
o you think the Windows source code sits in a shared folder like Windows2007-Latest-UPDATED!!, for
yone to edit? That every programmer just works in a different subfolder? No way.
rge, fast-changing projects with many authors need a Version Control System (geekspeak for file
tabase) to track changes and avoid general chaos. A good VCS does the following:
Backup and Restore. Files are saved as they are edited, and you can jump to any moment in time.
Need that file as it was on Feb 23, 2007? No problem.
Synchronization. Lets people share files and stay up-to-date with the latest version.
Short-term undo. Monkeying with a file and messed it up? (Thats just like you, isnt it?). Throw away
your changes and go back to the last known good version in the database.
Long-term undo. Sometimes we mess up bad. Suppose you made a change a year ago, and it had a
bug. Jump back to the old version, and see what change was made that day.
Track Changes. As files are updated, you can leave messages explaining why the change happened
(stored in the VCS, not the file). This makes it easy to see how a file is evolving over time, and why.
Track Ownership. A VCS tags every change with the name of the person who made it. Helpful for
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
4 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
2/54
blamestorming giving credit.
Sandboxing, or insurance against yourself. Making a big change? You can make temporary changes in an
isolated area, test and work out the kinks before checking in your changes.
Branching and merging. A larger sandbox. You can branch a copy of your code into a separate area
and modify it in isolation (tracking changes separately). Later, you can merge your work back into the
common area.
ared folders are quick and simple, but cant beat these features.
earn the Lingo
ost version control systems involve the following concepts, though the labels may be different.
sic Setup
Repository (repo): The database storing the files.
Server: The computer storing the repo.
Client: The computer connecting to the repo.
Working Set/Working Copy: Your local directory of files, where you make changes.
Trunk/Main: The primary location for code in the repo. Think of code as a family tree the trunk is the
main line.
sic Actions
Add: Put a file into the repo for the first time, i.e. begin tracking it with Version Control.
Revision: What version a file is on (v1, v2, v3, etc.).
Head: The latest revision in the repo.
Check out: Download a file from the repo.
Check in: Upload a file to the repository (if it has changed). The file gets a new revision number, and
people can check out the latest one.
Checkin Message: A short message describing what was changed.
Changelog/History: A list of changes made to a file since it was created.
Update/Sync: Synchronize your files with the latest from the repository. This lets you grab the latest
revisions of all files.
Revert: Throw away your local changes and reload the latest version from the repository.
vanced Actions
Branch: Create a separate copy of a file/folder for private use (bug fixing, testing, etc). Branch is both a
verb (branch the code) and a noun (Which branch is it in?).
Diff/Change/Delta: Finding the differences between two files. Useful for seeing what changed between
revisions.
Merge (or patch): Apply the changes from one file to another, to bring it up-to-date. For example, you
can merge features from one branch into another. (At Microsoft this was called Reverse Integrate and
Forward Integrate)
Conflict: When pending changes to a file contradict each other (both changes cannot be applied).
Resolve: Fixing the changes that contradict each other and checking in the correct version.
Locking: Taking control of a file so nobody else can edit it until you unlock it. Some version control
systems use this to avoid conflicts.
Breaking the lock: Forcibly unlocking a file so you can edit it. It may be needed if someone locks a file
and goes on vacation (or calls in sick the day Halo 3 comes out).
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
4 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
3/54
Check out for edit: Checking out an editable version of a file. Some VCSes have editable files by
default, others require an explicit command.
d a typical scenario goes like this:
ice adds a file (list.txt) to the repository. She checks it out, makes a change (puts milk on the list),
d checks it back in with a checkin message (Added required item.). The next morning, Bob updates his
cal working set and sees the latest revision oflist.txt, which contains milk. He can browse the
angelog or diffto see that Alice put milk the day before.
isual Examples
is guide is purposefully high-level: most tutorials throw a bunch of text commands at you. Lets cover the
gh-level concepts without getting stuck in the syntax (the Subversion manual is always there, dont worry).
metimes its nice to see whats possible.
heckins
e simplest scenario is checking in a file (list.txt) and modifying it over time.
ch time we check in a new version, we get a new revision (r1, r2, r3, etc.). In Subversion youd do:
svnaddlist.txt
(modifythefile)
svncilist.txt m"Changedthelist"
e m flag is the message to use for this checkin.
heckouts and Editing
reality, you might not keep checking in a file. You may have to check out, edit and check in. The cycle
oks like this:
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
4 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
4/54
you dont like your changes and want to start over, you can revert to the previous version and start again
r stop). When checking out, you get the latest revision by default. If you want, you can specify a particular
vision. In Subversion, run:
svncolist.txt(getlatestversion)
...editfile...
svnrevertlist.txt(throwawaychanges)
svnco r2list.txt(checkoutparticularversion)
iffs
e trunk has a history ofchanges as a file evolves. Diffs are the changes you made while editing: imagine
u can peel them off and apply them to a file:
r example, to go from r1 to r2, we add eggs (+Eggs). Imagine peeling off that red sticker and placing it on
, to get r2.
d to get from r2 to r3, we add Juice (+Juice). To get from r3 to r4, we remove Juice and add Soup (-Juice,
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
4 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
5/54
Soup).
ost version control systems store diffs rather than full copies of the file. This saves disk space: 4
visions of a file doesnt mean we have 4 copies; we have 1 copy and 4 small diffs. Pretty nifty, eh? In SVN,
e diff two revisions of a file like this:
svndiff r3:4list.txt
iffs help us notice changes (How did you fix that bug again?) and even apply them from one branch to
other.
onus question: whats the diff from r1 to r4?
+Eggs
+Soup
otice how Juice wasnt even involved the direct jump from r1 to r4 doesnt need that change, since Juice
as overridden by Soup.
ranching
anches let us copy code into a separate folder so we can monkey with it separately:
r example, we can create a branch for new, experimental ideas for our list: crazy things like Rice or Eggo
affles. Depending on the version control system, creating a branch (copy) may change the revision number.
ow that we have a branch, we can change our code and work out the kinks. (Hrm waffles? I dont know
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
4 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
6/54
hat the boss will think. Rice is a safe bet.). Since were in a separate branch, we can make changes and test
isolation, knowing our changes wont hurt anyone. And our branch history is under version control.
Subversion, you create a branch simply by copying a directory to another.
svncopyhttp://path/to/trunkhttp://path/to/branch
branching isnt too tough of a concept: Pretend you copied your code into a different directory.uve probably branched your code in school projects, making sure you have a fail safe version you can
turn to if things blow up.
erging
anching sounds simple, right? Well, its not figuring out how to merge changes from one branch to another
n be tricky.
ts say we want to get the Rice feature from our experimental branch into the mainline. How would we do
is? Diff r6 and r7 and apply that to the main line?
rongo. We only want to apply the changes that happened in the branch!. That means we diff r5 and r6,
d apply that to the main trunk:
we diffed r6 and r7, we would lose the Bread feature that was in main. This is a subtle point imagine
eeling off the changes from the experimental branch (+Rice) and adding that to main. Main may have had
her changes, which is ok we just want to insert the Rice feature.
Subversion, merging is very close to diffing. Inside the main trunk, run the command:
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
4 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
7/54
svnmerge r5:6http://path/to/branch
is command diffs r5-r6 in the experimental branch and applies it to the current location. Unfortunately,
bversion doesnt have an easy way to keep track of what merges have been applied, so if youre not careful
u may apply the same changes twice. Its a planned feature, but the current advice is to keep a changelog
essage reminding you that youve already merged r5-r6 into main.
onflicts
any times, the VCS can automatically merge changes to different parts of a file. Conflicts can arise when
anges appear that dont gel: Joe wants to remove eggs and replace it with cheese (-eggs, +cheese), and Sue
ants to replace eggs with a hot dog (-eggs, +hot dog).
this point its a race: if Joe checks in first, thats the change that goes through (and Sue cant make her
ange).
hen changes overlap and contradict like this, the VCS may report a conflict and not let you check in its
to you to check in a newer version that resolves this dilemma. A few approaches:
Re-apply your changes. Sync to the the latest version (r4) and re-apply your changes to this file: Add
hot dog to the list that already has cheese.
Override their changes with yours. Check out the latest version (r4), copy over your version, and
check your version in. In effect, this removes cheese and replaces it with hot dog.
onflicts are infrequent but can be a pain. Usually I update to the latest and re-apply my changes.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
4 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
8/54
agging
ho would have thought a version control system would be Web 2.0 compliant? Many systems let you tag
abel) any revision for easy reference. This way you can refer to Release 1.0 instead of a particular build
mber:
Subversion, tags are just branches that you agree not to edit; they are around for posterity, so you can see
actly what your version 1.0 release contained. Hence they end in a stub theres nowhere to go.
(intrunk)
svncopyhttp://path/to/revisionhttp://path/to/tag
eal-life example: Managing Windows Source Code
e guessed that Windows was managed out of a shared folder, but its not the case. So hows it done?
Theres a main line with stable builds of Windows.
Each group (Networking, User Interface, Media Player, etc.) has its own branch to develop new
features. These are under development and less stable than main.
u develop new features in your branch and Reverse Integrate (RI) to get them into Main. Later, you
orward Integrate and to get the latest changes from Main into your branch:
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
4 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
9/54
Tweet 35 9
ts say were at Media Player 10 and IE 6. The Media Player team makes version 11 in their own branch.
hen its ready and tested, theres a patch from 10 11 which is applied to Main (just like the Rice example,
t a tad more complicated). This a reverse integration, from the branch to the trunk. The IE team can do
e same thing.
ter, the Media Player team can pick up the latest code from other teams, like IE. In this case, Media Player
rward integrates and gets the latest patches from main into their branch. This is like pulling in the Bread
ature into the experimental branch, but again, more complicated.
its RI and FI. Aye aye. This arrangement lets changes percolate throughout the branches, while keeping
w code out of the main line. Cool, eh?
reality, theres many layers of branches and sub-branches, along with quality metrics that determine when
u get to RI. But you get the idea: branches help manage complexity. Now you know the basics of how one of
e largest software projects is organized.
ey Takeaways
y goal was to share high-level thoughts about version control systems. Here are the basics:
Use version control. Seriously, its a good thing, even if youre not writing an OS. Its worth it for
backups alone.
Take it slow. Im only now looking into branching and merging for my projects. Just get a handle on
using version control and go from there. If youre a small project, branching/merging may not be an
issue. Large projects often have experienced maintainers who keep track of the branches and patches.
Keep Learning. Theres plenty of guides for SVN, CVS, RCS, Git, Perforce or whatever system youre
using. The important thing is to know the concepts and realize every system has its own lingo and
philosophy. Eric Sink has a detailed version control guide also.
ese are the basics as time goes on Ill share specific lessons Ive learned from my projects. Now that
uve figured out a regular VCS, try an illustrated guide to distributed version control.
ther Posts In This Series
A Visual Guide to Version Control (This post)1.
Intro to Distributed Version Control (Illustrated)2.
Aha! Moments When Learning Git3.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
4 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
10/54
24 thoughts on A Visual Guide to Version Controlngback: Visual guide to version control Dyans Weblog
ngback: digresjon.net | Guide til subversion
ngback: The Abarentos Narrative links for 2007-09-28
ngback:joet3ch.com Version Control
ngback: links for 2007-09-28 at graemef.com
ngback: Version Control Explained < Nerdpocalypse
ngback: links for 2007-09-29 Simply A User
ngback: Art, Algorithms, and Design Blog Archive Basic Intro to Version
ontrol - Subversion/SVN
ngback: Karls Place Blog Archive Cool site: BetterExplained.com
ngback: links for 2007-09-29 Donghai Ma
ngback: Intro to VCS A Programmers Ramblings
ngback: Version Control: Get a better understanding of version control |
lagomi Newsngback: links for 2007-09-29 D e j a m e S e r
ngback: Sams Updates Blog Archive links for 2007-09-29
ngback: Craig Vidler | Weblog links for 2007-09-29
ngback: christian schorn Blog Archive Links vom 29.09.2007
ngback: links for 2007-09-29 steinarcarlsen
ngback: Best of Feeds - 30 links - programming, productivity, code,
cialsoftware, socialnetworking Internet Duct Tape
ngback: links for 2007-09-30 Mandarine
ngback: links, ideas and geek stuff Blog Archive links for 2007-10-01
ngback: Phil Gainley Blog Archive A Visual Guide To Version Control
ith Phil Gainley
ngback: A Visual Guide to Version Control | BetterExplained
ncenthomes Software Development
ngback: What do you want Better Explained? | BetterExplained
ngback: Wagner Elias - Think Security First Controle de Verso
ngback: A Visual Look at Distributed Version Control | BetterExplained
ngback: links for 2007-10-17
ngback: Revision Control 101 Nano Taboada
ngback: links for 2007-12-13 at DeStructUred Blog
ngback: Backups Bhushan G Ahires Weblog
1 6
1
hare what worked: Aha moments & FAQ
t's create a living reference for how best to understand this topic.
the whole part! (More...)
Branches and how they are merged.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
11/54
ngback: Principle #1 - Builds should be repeatable (Part 2) Sauers
chnologies
ngback: Understanding Software Development Panospaces Weblog
ngback: Mind Gravy Blog Archive links for 2008-01-24
ngback: Wildbit Blog Archive Visual Guide to Version Control Social
etworking and Subscriber-based Services.
ngback: Effortless version control for teams and one-man developer shops
ike | fonicmonkey
ngback: RAILroading Blog Archive links for 2008-02-17
ngback: a work on process links for 2008-02-17
ngback: Top of the Mountains Blog Archive Human-faced beanstalks
ngback: being (no)body m3talink for February 24th through February
th
ngback: A great intro guide to version control kfarr
ngback: Subversion Obliterate, the forgotten feature
ngback: links for 2008-03-12 D e j a m e S e r
ngback: Revue de presse | Simple Entrepreneur
ngback: Incoherent Babbling Blog Archive Version Control Explained
mplyngback: A Guide to Using Subversion - /dev/null
ngback: Software By Richard In the Trenches, What is the Best Source
ontrol for My Team?
ngback: Get your development under control - all about version control
drewmccall.com
ngback: ScribbleWiki Blog Archive Code Management
ngback: Understanding Version Control Systems 404 Tech Support
ngback: Version Control Explained Frontier Label Web Development Blog
ngback: Gua visual para el control de versiones Hermoso da
ngback: adaptive path blog Adaptive Path Signposts for the Week
ding August 29, 2008
ngback: nortypig Blog Archive A Visual Guide to Version Control
ngback: Pragmatic Yankee Blog Archive links for 2008-09-04
ngback: PeopleSoft Wiki: PeopleTools Version Control
ngback: A Practical Guide to University Valhalla Island
ngback: [ mkhairul.com ] Adding a new feature to a project
ngback: Toyota Jidoka dan Continuous Integration HaDhikusuma
ahab Blog
ngback: things to look at (November 17th - November 20th) | stimulant -
anging things around. . .
ngback: A Leased Line to the Collective Unconscious Subversion for web
sign - how we do it @ Karyx
ngback: Technical Related Notes Blog Archive links for 2007-09-29
ngback: Building the ideal web development environment Zulu 7
ngback: Odds@Blog
ngback:
ngback: links for 2009-02-20 - Paul Griffin Petty
ngback: links for 2009-03-04 | BlueWave Media - BlueWave Media Cafe
ngback: links for 2009-03-07 techGOVERN
ngback: Silvestro Fantacci: Linux C++ IDE
ngback: Intro to Git for Web Designers | Webdesigner Depot
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
12/54
ngback: Intro to Git for Web Designers | Feed Reader (Beta)
ngback: Git
ngback: Monday, May 11, 2009 | shiner.clay
ngback: Version Control, Google Documents, and Meaningful Commits
cstrother's Blog
ngback: A Visual Guide to Version Control | Kyle Wu
ngback: Intro to Distributed Version Control (Illustrated) | Kyle Wu
ngback: Marks Blog increasing productivity part 2: Subversion
ngback: QuickLinks vom 18. August bis zum 19. August instant-
inking.de
ngback: Baby steps with Subversion | A Stata Mind
ngback: Twitter Trackbacks for A Visual Guide to Version Control |
tterExplained [betterexplained.com] on Topsy.com
ngback: The Ultimate Guide to Version Control for Designers | MisrIT
ader (Beta)
ngback: paradox1x
ngback: The ultimate guide to version control for designers PixelNovel
ogngback: How to get up and running quickly with GIT a Fast, Distributed
rsion Control System. the seekers quill
ngback: Aha! Moments When Learning Git | BetterExplained
ngback: Destillat #12 | duetsch.info - Open Source, Wet-, Web-, Software
ngback: uberVU - social comments
ngback: increasing productivity part 2: Subversion qKAI project blog
ngback: Wavesat uses Bazaar Futurile
ngback: Advanced research paper editing with Subversion revision control
Granthinm
ngback: Blog.us.es | Blog | Control de versiones con Subversin
ngback: Control de versiones con Subversion
ngback: BenDauphinee.com Version Control A Visual Guide
ngback: Simple Version Control with TortoiseSVN | IndyVision.Net
ngback: Tweets that mention A Visual Guide to Version Control |
tterExplained -- Topsy.com
ngback: Simple Version Control with TortoiseSVN Part 2 | IndyVision.Net
ngback: 10 types of Git resources, references, tutorials for 10 types of
ople | Tips Tank
ngback: uforepublic DevBlog subversion: Linksammlung 4
ngback: Source Control Rocks! | Thomas Vochten
ngback: Choosing a Project Management Tool Automatic Ramblings
ngback: A Visual Guide To Version Control | Pirate Gaspard
ngback: Toyota Jidoka dan Continuous Integration | sedayane
ngback: Daily del.icio.us for December 19th through December 23rd
nny Carpenter's blog
ngback: How to apply for Google Summer of Code A byte of note |
rath Lakshman
ngback: Becoming a web developer Version Control Systems (VCS) |
ichard Askew
ngback: Setting Up a Flash Development Sandbox: Part 1 | Tut Free
ngback: Subversion explicado visualmente em 30s
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
13/54
ngback: SVN: What's a good, simplified SVN tutorial for someone new to
rsion control? - Quora
ngback: Starting small | Maarifa
ngback: A Visual Guide to Version Control | prinjumon
ngback: Opinion: Students, Version Control! | Contains Games
ngback: A Visual Guide to Version Control Log
ngback: Starting small with collaborative solutions | Collaboration for Good
ngback: Nothing found for Amyhaywood_wp ?p=753
ngback: 6 reasons journalists should show your work while learning &
eating | FREE DRUPAL THEMES
ngback: Initial Java Efforts vba2java
ngback: A Visual Guide to Version Control | Jesus Was Rasta
ngback: A Visual Guide to Version Control | Jesus Was Rasta
ngback: VCS-A Visual Guide to Version Control |
odeBeamer Ideas
ngback: Version Control in Flash Builder: installation and setup | Davide
rranca
ngback: Subclipse Version Control in Flash Builder: installazione e setup |
avide Barrancangback: Some unorganized links: | DeltaSync
ngback: Understanding Subversion Vendor Branching | Shane Stillwell
ngback: How to define a site in Dreamweaver CS5.5 | Heliomedia
ngback: Subversion | MagicKiat's Weblog
ngback: Peter Keating
ngback: Guide to Version Control Systems (hub) | I should remember this
uide to Version Control Systems (hub) | One's read, test and research logs.
ngback: Get Started with Subversion using SvnX - Switching To Mac
ngback: Version Control concepts and best practices | PHP Developer
source
ngback: Need guidance!
ngback: Version Control: Get a better understanding of version control |
OCM
ngback: Version Control System Qt Developer Blog
ngback: Intro to Git for Web Designers | Today24h
ngback: WP Engine launches seamless integration with git - Web Design
artup - Free Advice and Great Resources | Web Design Startup - Free
vice and Great Resources
ngback: Our Blog | WP Engine launches seamless integration with git
ngback: A Visual Guide to Version Control | BetterExplained | 42umbrellas
ngback: A Visual Guide to Version Control | BetterExplained
ngback: Version Control Systems 101 | Squad Blog
ngback: A Gentle Introduction to Version Control Part II Not a
esigner
Carlton Dickson
on September 28, 2007 at 12:44 am said:
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
14/54
I absolutely love a Friday but this article has made my day already!
Thanks for putting this togethergoing to have a read of this later on
today.
C
Carlton Dickson
on September 28, 2007 at 8:47 am said:
Great article Khalid, and thanks for the link to Erics articles, they
were pretty good too!
I will be testing the tagging and branching approach you both
mention, it will mean I can check out a branch (i.e. previous release)
into a new foldermake bug fixes and check it back into the branch
and deploy to live server in a more controlled, and traceable way.
Then would obviously need to merge bug fixes into my current trunk
(development work since last version).
Here is quite a useful resource for SVN and source control in general
by the way http://svnbook.red-bean.com/
Kalidon September 28, 2007 at 9:04 am said:
Hi Carlton, thanks for dropping by! Yep, Im working out my own
branching/merging scheme to make it easy to edit/update the live
version while still doing new development. Let me know if you have
any insights
Hi Mark, thanks for the comment and link I hadnt seen that SCM
before.
Skid Vis
on September 28, 2007 at 9:10 am said:
Wow.. you are a breath mint!
A Life-saver to be exact.. Ive been looking for something like this for
day..
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
15/54
Thanks!
Tony
on September 28, 2007 at 9:36 am said:
That was very tasty. Thank you.
Kalid
on September 28, 2007 at 9:59 am said:
Thanks guys! Not sure whats happening with the food theme
(lifesavers, tasty articles) but Im happy to oblige
(EDIT: Wow, I had been re-reading the article so many times that I
forgot food items were the examples I used! They just became a
series of words to me.)
Amit
on September 28, 2007 at 11:04 am said:
Great Read
Kalid
on September 28, 2007 at 11:44 am said:
Thanks Amit, glad you liked it.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
16/54
Kevin
on September 28, 2007 at 12:10 pm said:
Great article. Just curious what tool you used for diagramming.
Mario
on September 28, 2007 at 1:24 pm said:
thanks for the outline. really helped me grasp the fundamentals.
karim
on September 28, 2007 at 1:39 pm said:
Im using svn thats more than a year now and I love it. Thanks for
that refreshing tuto, it makes its learning for the novice a real
pleasure
Tiago Serafim
on September 28, 2007 at 4:05 pm said:
Nice article.
May I ask where did you do that neat graphics?
Thanks,
Kalid
on September 28, 2007 at 7:35 pm said:
Hi all, thanks for the comments. Ack, you want to know the secret
sauce? Microsoft Paint.
Just kidding . I make the diagrams in PowerPoint 2007, by drawing
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
17/54
various shapes, arranging and styling them appropriately. If you like,
check out this article:
http://betterexplained.com/articles/an-intuitive-guide-
to-exponential-functions-e/
and the corresponding PowerPoint file:
http://betterexplained.com/examples/graphics/Exponential-
growth.pptx
Kayan
on September 28, 2007 at 7:43 pm said:
yes, Ive the same question (that caused a-ha moment ) what tool do
you use to make such a nice web2.0ish graphics ?
Thanks
Kalyan
venki
on September 28, 2007 at 9:07 pm said:
fabulous read, Thanks tons for putting this together
Kalid
on September 28, 2007 at 10:16 pm said:
@Kalyan: I used PowerPoint 2007 theres more details in comment
#14, above.
@venki: Thanks for the comment, it was a lot of fun to write.
Sam Jones
on September 29, 2007 at 7:21 am said:
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
18/54
Great post! Thanks for doing this.
Kalid
on September 29, 2007 at 9:29 am said:
Thanks Sam, youre more than welcome.
Ed
on September 29, 2007 at 9:36 am said:
Thank you for your wonderful effort.
Kalid
on September 29, 2007 at 9:53 am said:
Hi Ed, thanks for the support.
Carlo
on September 29, 2007 at 2:50 pm said:
Is there a VCS that doesnt require a server environment? Something
that I can use with Visual Studio 2005 for C#
brian
on September 29, 2007 at 6:35 pm said:
Great detail of how the version control works. Thanks for time to put
this together.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
19/54
7/27/2019 A Visual Guide to Version Control _ BetterExplained
20/54
Kalid
on September 29, 2007 at 10:17 pm said:
@Brian: Thanks, glad you liked it!
@webmat: Great tips, thanks for sharing! (This is exactly what I
hoped would happen people sharing their personal tips, tricks and
favorites).
@Carlo: Try out webmats suggestions. I know Visual Studio has
plugins for various VCS systems like SVN, they may have Bazaar or
Mercurial as well. This makes it easy to see the status of the project
you are working on, inside of Visual Studio.
Anonymous
on September 30, 2007 at 12:05 am said:
While this looks like a nice introduction to the CVS and SVN model of
version control, its pretty specific to this model.
The All version control systems involve the following concepts part
is certainly false unless you exclude distributed version control,
systems that dont directly track files (eg Git), systems that dont use
revisions (eg Darcs), and probably other categories.
Kalid
on September 30, 2007 at 8:30 am said:
Hi, thanks for the feedback. Yes, this guide was meant to give an
intro to the most common VCS concepts. I wasnt that familiar with
distributed and other systems, but it seems they can have different
behavior I may do a follow up on them. Till then, Ill caveat the
sentence with Most vs All .
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
21/54
Gareth
on October 1, 2007 at 1:08 am said:
Thanks this is great for non tech folk
dextrous
on October 1, 2007 at 3:01 am said:
Hi,
Its awesome, I have already recommended to all newbies around me
to refer it.
good stuff. How about writing same thing for a distributed version
control.
shawn
on October 1, 2007 at 10:54 am said:
thanks for this great tutorial. Makes a lot of sense really quick.
Kalid
on October 1, 2007 at 2:51 pm said:
Gareth and shawn, thanks for the comments. Im thrilled when
concepts can shine through, I really believe any subject should be
made sensible to everyone
Dextrous, I dont know much about distributed version control
systems, but am excited to learn about them. Id love to write moreonce I figure them out.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
22/54
Sagar Mehta
on October 2, 2007 at 12:11 am said:
very well explained indeed !!!!
Kalid
on October 2, 2007 at 8:55 am said:
Thanks Sagar, glad it was useful for you.
Sagar Mehta
on October 4, 2007 at 3:28 pm said:
The content is good, but I was more impressed with the simplicity
with which it is presented
A lot to learn for potential tutorial writers
Kalid
on October 4, 2007 at 6:30 pm said:
Thanks Sagar I find it helps to relate new material to what people
already know (like versioning their files by changing the filename).
Eventually Id like to do a tutorial on how to do a tutorial
Tanya
on October 21, 2007 at 7:12 pm said:
thank you for the article! Ive used CVS for 2 years, but Ive got clear
understanding of branches and merging only now
Kalid
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
23/54
on October 21, 2007 at 9:24 pm said:
Great Tanya, Im glad you found it useful!
Neville Franks
on October 22, 2007 at 12:04 am said:
Kalid, very good intro article. I wrote Get up and running with
TortoiseSVN and Subversion in 15 minutes a while back which will be
of interest to folks starting out with SubVersion. You can find at:
http://blog.surfulater.com/2007/02/28/get-up-and-running-
with-tortoisesvn-and-subversion-in-15-minutes/
Kalid
on October 22, 2007 at 1:21 am said:
Hi Neville, thanks for dropping by. This article was about the high
level concepts, so its nice to learn how to set up the nitty-gritty
Paul Ziakin
on December 14, 2007 at 3:05 pm said:
Found this article while hunting for a useable distinction between
Document Version and Document Revision. Any takers out there?
Kalid
on December 17, 2007 at 2:15 pm said:
Hi Paul, unfortunately the words version and revision seem to be
used interchangibly in the sources Ive found. It might depend on the
particular version/revision control tool you are using .
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
24/54
Dan
on January 25, 2008 at 7:20 am said:
Great post! Using straight to the point explanations, attractive visual
aids, and command-line examples really helped make the
fundamentals easy to understand!
Great work!
Kalid
on January 25, 2008 at 10:47 am said:
Thanks Dan! I try to use as many techniques as I can (diagrams,
text, etc.) since people learn differently. Glad it worked for you!
Ferdinand
on February 17, 2008 at 8:28 am said:
Thanks man, this is an excellent primer, just what I needed !
Kalid
on February 17, 2008 at 11:32 am said:
Thanks Ferdinand, glad it worked for you.
user
on March 25, 2008 at 12:47 am said:
please, if possible, add a visual guide (picture/diagram) for concept of
conflict.
Nicolas Hoizey
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
25/54
on March 31, 2008 at 1:13 am said:
Great article!
Being a user of CVS and SVN for years, I always have some
difficulties trying to explain it to my collegues and friends, it will help
me a lot!
May I translate it into french and publish it on my weblog, with a linkto your original?
Kalid
on March 31, 2008 at 11:19 am said:
Hi Nicolas, thanks for the comment, glad you enjoyed it. Sure, you
can translate it, thanks for asking.
MB
on April 28, 2008 at 6:26 pm said:
well explained, i like the use of diagrams. The presentation also looks
very professional, thanks!
Kalid
on April 28, 2008 at 6:55 pm said:
Thanks MB!
Dave
on April 29, 2008 at 5:54 am said:
*T*H*A*N*K*S*
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
26/54
Kalid
on April 29, 2008 at 10:36 am said:
Hi Dave, youre welcome .
FHierro
on May 17, 2008 at 9:15 am said:
Yeah, guys! CVS is a very useful tool for any of you who works with a
single file during a long time while building its definitive content.
However, CVS has the inconvenient of expecting to be you (the user)
the one who carries out the check-in and check-out operations.
I have found a very important tool name Live!Doc Personal Edition(www.mylivedocuments.net) which automatically carries out check-in
operations and transparently keeps all the changes done in any of
your files.
I suggest you to test it
Ambaron May 30, 2008 at 9:46 am said:
amazing read! great job!
Kalid
on May 30, 2008 at 10:04 am said:
Thanks Ambar, glad you liked it!
Dilan
on June 5, 2008 at 9:43 pm said:
THE BEST GUIDE FOR VCS Ive seen.. Great great stuff. thanks a
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
27/54
billion
Kalid
on June 5, 2008 at 10:58 pm said:
Thanks Dilan, youre welcome!
ggyy_sun
on June 9, 2008 at 11:21 pm said:
What a nice paper!
Kalid
on June 10, 2008 at 11:11 am said:
Thanks, glad you enjoyed it.
Bedrich
on June 10, 2008 at 1:31 pm said:
Great article, really good for a version control newbie like myself.
Kalid
on June 11, 2008 at 2:01 am said:
Thanks Bedrich, glad it was helpful.
Rob
on July 2, 2008 at 10:53 am said:
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
28/54
Excellent job! One suggestion though
Ive always used a visual diff program so I was confused for a while
on your explanation of the diff process. I think it would help if you
pointed out that diffing r6 with r7 would generate:
+rice
-bread
That is, the diff things you deliberately removed bread. How could it
know the difference?
So, when were ready to merge we want to know the difference
between the file we started with on our branch and the final version
on our branch. Then we merge those differences with the latest
version on the trunk.
Something like that. A bit more theory of what were trying to do.
This really helped me solidify the process in my head. Thanks,
Peace,
Rob:-]
Tim
on August 31, 2008 at 1:33 am said:
Who would have thought a version control system would be Web 2.0
compliant? Many systems let you tag (label) any revision for easy
reference
Please, this is not remotely like folksonomic tagging in the Web 2.0
sense. If this is a joke, its going to confuse the heck out of people
whove not encountered version control before.
Scartaris
on September 5, 2008 at 8:27 pm said:
This is a great introduction to VCS! Source code management can be
so complicated to explain, but you have made it quite clear.
I would like to see a similar explanation of distributed VCS systems.
I have read about them, but I have not been able to make any sense
of them they seem like trying to play volleyball when every player
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
29/54
has her own ball. I dont see how it can possibly be anything other
than a cluster-you-know-what. But they obviously work for some
projects, and I would really like that explained.
Scartaris
on September 5, 2008 at 8:33 pm said:
Oh! There is a link to an explanation of distributed version control
right at the end! Thanks!
Ammar
on October 31, 2008 at 8:02 am said:
Thank you very much for this great resource I will definitely point it
to my colleagues so that they learn about source control.
Much thanks!
Kalid
on November 18, 2008 at 1:23 am said:
@Scartaris: No problem, glad you found it.
@Ammar: Glad you enjoyed it!
Jeff
on December 2, 2008 at 5:03 pm said:
Thank you! This is good stuff. -j
Rythums
on December 8, 2008 at 12:00 am said:
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
30/54
It was very helpful
I have a question
In any of the file header say a *.c file I want to maintain the
comments of commiting is it possible to do that automatically?
by putting a directive as
or something similar ?
for example, have a file header as
// file name : xxx.c
// auther : xyz
// creation date : dd mm yy
// revisions : date comment
// 1.0 : dd-mm-yy base version
// 1.1 : dd-mm-yy trying auto-version
// :
thanks in advance
ryth
Kalid
on December 9, 2008 at 6:35 pm said:
@Jeff: Youre welcome.
@Rythums: Offhand, I dont know of a simple way to prepend the
comments to the file (ironically, that would make the file have a newrevision, right?). In general, the source control system should
probably be used to view the log/history of a file.
Tracy
on February 12, 2009 at 10:54 am said:
This is fantastic. Ive been interested in using version control at the
office but Im pretty sure our IT team thinks its not worth it for my
needs (more along the lines of grocery lists than software
development). Do you know of any program that does this sort of
thing at a more basic level, for everyday users?
Love the site, great idea.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
31/54
Manish
on February 13, 2009 at 2:48 am said:
It is such a treat to read a documents like this. Kalid, you rock!!
Kalid
on February 13, 2009 at 5:30 pm said:
@Tracy: Thanks for the comment. Subversion is probably the
simplest system to use (it has plugins like TortoiseSVN for Windows so
you dont need to use the command line).
@Manish: Thanks!
imissmyjuno
on March 4, 2009 at 12:03 pm said:
Thanks for this! I understand the topic but havent found a better
guide yet. So many times I tried to explain the concept and havent
succeeded in doing so. Ill try this guide next time.
brad
on March 10, 2009 at 9:18 am said:
This is great for the concepts but for a newbie, im a little lost
without an ab initio. i write web code, never use the command line,
and am not sure if there is a software like subversion that is assumedto be in use?
Kalid
on March 13, 2009 at 1:47 am said:
@imissmyjuno: Youre welcome!
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
32/54
@brad: Thanks for the comment I realize I forgot to mention the
examples were for Subversion! (Ill update that now). The key
principles, pros and cons, and diagrams should apply to most
traditional version control systems like Subversion, CVS or RCS.
Walter
on March 14, 2009 at 3:14 pm said:
Kalid,
Many thanks. Im a small projects guy who has been wavering about
using vcs for a while, and this tipped me toward using it.
Kalid
on March 14, 2009 at 4:03 pm said:
@Walter: Youre welcome hope it works out for you!
adi
on May 7, 2009 at 6:59 am said:
most appreciated. u v got a great way of explaining concepts in a
simple way. Thank u a lot n i wish u a lot of luck!
adi
Catherine
on May 10, 2009 at 11:56 pm said:
Good article. Thanks.
Catherine Sea
http://www.scmsoftwareconfigurationmanagement.com/
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
33/54
sfasdf
on July 7, 2009 at 4:14 am said:
afasdfasdf
Shyam
on July 7, 2009 at 4:35 am said:
Good article
webCV
on July 10, 2009 at 12:48 am said:
Excellent article! Thanks for this fantastic article which
explains(better! with clear diagrams, how VCS works Done a bit
of digging and SVN seems the way to go. Glad theres a plugin for
quanta plus since I use that for PHP. Again, thanks for an awesome
article Kalid.
Kalid
on July 10, 2009 at 10:31 am said:
@webCV: Youre welcome!
Ranu Mandan
on August 3, 2009 at 7:28 am said:
that was the most simplest of all
thx for sharing
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
34/54
Kalid
on August 6, 2009 at 7:46 pm said:
@Ranu: Thanks!
Ramesh
on August 12, 2009 at 2:05 pm said:
Thanks very much for sharing. I have been looking for an article like
this
Kalid
on August 12, 2009 at 2:09 pm said:
@Ramesh: Youre welcome!
Niks
on August 17, 2009 at 11:45 pm said:
Kalid,
Can I reuse the pictures (copy) to our folks in a PPT or something??
Kalidon August 19, 2009 at 8:53 pm said:
@Niks: Sure thing, but please include a reference back to the site.
Thanks!
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
35/54
Kavin
on September 15, 2009 at 11:01 pm said:
Sir, it was very useful to know the basics of how one of the largest
software projects is organized.
Kalid
on September 20, 2009 at 12:25 am said:
@Kavin: Glad you found it helpful!
skmwenda
on September 27, 2009 at 7:54 am said:
Great stuff!now i fully get branching, and when to use RI or FI.
Kalid
on September 27, 2009 at 11:58 am said:
@skmwenda: Thanks, glad it helped!
S M Nabeel Dibaji
on November 4, 2009 at 10:43 pm said:
Awesome post.
Really nice and easy to learn Source Control Concepts from the
scratchLOve U buddy
Deependra Solanky
on November 4, 2009 at 11:26 pm said:
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
36/54
Great article for beginners. Thanks.
Kalid
on November 5, 2009 at 4:17 pm said:
@S M, @Deependra : Glad you liked it!
joy
on December 17, 2009 at 6:34 pm said:
Excellent! Thank you!
Kalid
on December 19, 2009 at 2:04 am said:
@joy: Youre welcome!
Km
on January 25, 2010 at 4:47 am said:
Lovely guide. No prob in understanding at all.
maverick
on February 24, 2010 at 12:17 am said:
thanks for the post, its really helpful
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
37/54
on March 2, 2010 at 10:31 pm said:
Have a question? Know an explanation that caused your own a-ha
moment? Write about it here.
Windows Linux Admin
on March 19, 2010 at 9:29 am said:
Amazingly well explained. Im sending this to the non softare guys at
work
on March 28, 2010 at 9:33 pm said:
Excellent! Thank you!
sujith
on May 24, 2010 at 11:06 pm said:
Woderful !! thank You !!!
on May 31, 2010 at 6:48 am said:
That is really a good guide! Very easy to understand and helpful. I amhaving less fear to the version control things at least, haha. Thanks
very much!
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
38/54
Kalid
on May 31, 2010 at 10:30 pm said:
@: Yoiure welcome, glad it helped!
Bernard
on June 1, 2010 at 11:08 am said:
I was looking for a user guide to version control. This is really an
excellent introduction.
Kalid
on June 1, 2010 at 12:30 pm said:
@Bernard: Thanks!
Rob Langley
on June 24, 2010 at 7:08 am said:
hi I know this sounds like a tall order but does anyone know of a
VCS that would deal with the entire origination process, please? (ie,
pulling in all sorts of different source files text, Word, EPSs, TIFs,
pegs then through Quark/InDesign and through to PDF)
thanks
Rob
Kalid
on July 2, 2010 at 10:37 pm said:
@Rob: I think your best bet would be to use VersionCue or some
software designed just for the various Adobe formats most generic
VCS systems are optimized to working with plain text files.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
39/54
Josh Colter
on July 14, 2010 at 11:39 am said:
Great high-level SVN overview. Love the visuals!
Appan
on July 14, 2010 at 11:59 am said:
Very informative and detailed note on VCS.
Is it an individual contribution or an organisations contribution ?
whoever did it, thank you so much.
Ap
Kalid
on July 14, 2010 at 12:26 pm said:
@Appan: Thanks, glad you liked it! Yep, this was just a personal post,
not part of an organization.
Raj
on July 14, 2010 at 10:29 pm said:
Its cool, i have read some part and seems good
m4niac
on July 25, 2010 at 12:32 pm said:
Ive just started out to read the tutorial and I already want to tell you
I felt in love with this whole new VCS stuff . Thanks for that! And
of course, for this amazing tutorial.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
40/54
michael kenner
on September 29, 2010 at 1:48 am said:
Absolutely Great. A credit to the author Kalid Azad. Very interesting
and very easy to follow!
Kalid
on October 8, 2010 at 10:06 am said:
@Michael: Thank you, glad it helped!
ss
on October 18, 2010 at 2:29 pm said:
good article
Anonymous
on December 9, 2010 at 1:10 pm said:
wow! i have never come across any read(specially in IT) which was
so easy to understahnd.
i was LOL looking at the words like, blamestorming and
monkeying.Absolutely loved it.
It truly is better explained.
keep up the good work.
Cheers!!
Kalid
on December 10, 2010 at 2:21 am said:
@Anonymous: Thanks! Yeah, theres no reason guides have to be dull
nobody wants to read (or write) that .
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
41/54
Aya
on December 17, 2010 at 1:16 am said:
WOW !! that was amazing and so simple indeed .. Im a third year
student in FCI and I have a presentation about VCS and I gotta tell
you that ur article was more than helpful to me .. thanx alot .. great
effort
on December 22, 2010 at 11:37 pm said:
LOL looking at the words like, blamestorming and
monkeying.Absolutely loved it.
sakhunzai
on December 28, 2010 at 11:15 am said:
simply superb !
Anonymous
on January 15, 2011 at 2:51 am said:
thanks a lot for this work, we will wait many from u
Anonymous
on March 1, 2011 at 11:40 am said:
Thanks you for explaining the basic principals it makes things more
clear to me and will help me in fixing the way I set my VCS up and
maintain it in the future.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
42/54
Kalid
on March 2, 2011 at 3:03 pm said:
@Anonymous: Youre welcome!
Catherine
on March 15, 2011 at 10:36 pm said:
very illustrative content
Kalid
on March 15, 2011 at 11:29 pm said:
@Catherine: Thanks, glad you liked it.
Jorge Contreras
on April 4, 2011 at 7:42 am said:
Hey ! this is a very good article. I had tried to understand version
control, I didnt know where to start, luckily I found this. Its simple,
useful. Nice job!
Pawankumar Jajara
on April 9, 2011 at 1:30 pm said:
Hi,
It was an awesome article on Version Control System. I have an
interview on monday and less time to look around, but your
information made my day. Its the best article I ever saw on VCS
Hats Off !
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
43/54
Kalid
on April 16, 2011 at 6:53 pm said:
@Pawankumar: Thanks!
Michelle
on May 5, 2011 at 8:59 pm said:
Wow, this article really gives me a fantastic idea of what version
control is all about!!Great job!
Kalid
on May 5, 2011 at 9:14 pm said:
@Michelle: Thanks!
on May 21, 2011 at 10:24 pm said:
ow, this article really gives me a fantastic idea of what version control
is a
sports management course
on May 30, 2011 at 1:44 am said:
betterexplained.com has been helping me and my college friends with
our school projects.
Mohnish Thallavajhula
on June 4, 2011 at 3:01 am said:
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
44/54
Pretty kewl. Stands up to the name- BetterExplained
Kalid
on June 5, 2011 at 8:43 pm said:
@Mohnish: Thanks .
Denim Geek
on July 5, 2011 at 5:49 am said:
I actually wrote something very similar to this for my dissertation a
few years ago. Great article, well done on explaining this a lot clearer
than i could
Kalid
on July 18, 2011 at 12:19 pm said:
@Denim Geek: Appreciate the comment!
rosy
on August 10, 2011 at 10:34 pm said:
hello people i fell really helpful with this data provided..actually VCS
is my research topic so..i was just thinking that if u could send me
some more contents over VCSit will be very very helpful to mebdw thanx a lot kalid:)
raj
on September 4, 2011 at 10:34 pm said:
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
45/54
good stuff mate..!!!!
Michael
on September 11, 2011 at 7:42 pm said:
What a great resource, and so well written. Thanks Kalid.
Kalid
on September 12, 2011 at 12:00 am said:
@Michael: Thank you!
Khaled
on September 21, 2011 at 4:12 am said:
Thanks man, it was very helpfull
Kalid
on September 26, 2011 at 12:14 pm said:
@Khaled: Youre welcome!
Ilana Gannetti
on October 14, 2011 at 2:06 pm said:
We are a gaggle of volunteers and starting a brand new scheme in
our community. Your web site provided us with valuable info to work
on. You have performed an impressive task and our whole
neighborhood can be grateful to you.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
46/54
Saleh
on October 16, 2011 at 3:39 am said:
It is definitely Better Explained. Now, is there a GUI instead of
command line?
Thanks for the beautiful explanation.
Kalid
on October 16, 2011 at 10:48 pm said:
@Saleh: Glad you liked it! . Yep, there are GUI tools for SVN like
TortoiseSVN.
Vishnu Kumar
on November 3, 2011 at 12:51 am said:
Hi KalidAn interviewer asked me this question..
If there are 55 versions of a file available55th one is the latest
onedeveloper checked out the 50th version and do some
modification and then check inwhat will be the new versioni
replied56thi think it was 51th
What would be the answer ?
Vishnu
kalid
on November 3, 2011 at 9:18 am said:
@Vishnu: Thats a strange question, I think the interviewer may have
been misinformed about how version control works. Normally you
dont ask what is the version number as version control takes care
of that for you, and you dont revise old versions, you only add new
ones (a revised old version becomes a new element).
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
47/54
Sole42
on December 2, 2011 at 8:08 am said:
Great article.
I wish there were free CVS/SVN systems that actually do what they
are supposed to.
I tried 5 different free ones, including Tortoise which especially
doesnt work as advertised.
Havent tried commercial ones yet but I bet theres at least one worth
the money.
kalid
on December 2, 2011 at 11:57 am said:
@Sole42: Thanks. Yes, some interfaces arent as clean/easy as others
I prefer using the command-line just because its consistent / easy
to use once youve learned it.
Amit
on December 23, 2011 at 4:05 am said:
Thanx kalid!!!! It helped me so much to get basic ideas very easily
Nice technique to present the complex information in simple way
Simply great!!! I am beginner for Source Code Control and hope
that u help me to get myself deeper into this concept
thnx again
Hemangon December 23, 2011 at 9:05 pm said:
Great work ! Thanks a lot !
abbey
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
48/54
on December 27, 2011 at 8:21 pm said:
Now thats a systematic approach of doing things. Thank you for the
post sir, keep posting more of your nice articles. Thanks
kalid
on December 28, 2011 at 6:43 pm said:
@Hemang: Youre welcome!
kalid
on December 28, 2011 at 6:44 pm said:
@Amit: Thank you, glad it helped!
Karen
on January 9, 2012 at 2:05 am said:
Great post! Using straight to the point explanations, attractive visual
aids, and command-line examples really helped make the
fundamentals easy to understand!
Awesome work!
kalid
on January 9, 2012 at 1:34 pm said:
@Karen: Thank you!
Dich Vu Thiet Ke Web Uy Tin - Chat Luong - Chi Phi
Hop Ly
on January 12, 2012 at 3:47 pm said:
Pretty great post. I just stumbled upon your weblog and wished to
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
49/54
mention that I have truly loved browsing your blog posts. After all I
will be subscribing to your rss feed and I hope you write again soon!
Amit
on January 15, 2012 at 8:12 am said:
You are simply awesomegreat article.explained everything.
kalid
on January 17, 2012 at 12:09 pm said:
@Amit: Glad it helped!
Vijayakumar
on January 27, 2012 at 4:04 am said:
Thanks for this wonderful work.
kalid
on January 27, 2012 at 10:37 am said:
@Vijayakumar: Glad you liked it!
Papoj
on January 28, 2012 at 3:21 pm said:
Thank you for the post! It is very helpful since the beginning that you
make connection with the simple idea of version control system by
renaming files (so I feel familiar and ready to read what you will
write later on). The visual explanation is great, and the
accompanying SVN commands are even more helpful. May I ask you
to add the comparison with Git as well? I am learning Git and any
comparison like (commit in git = merge in svn) would be perfect.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
50/54
Thank you very much!
kalid
on January 29, 2012 at 7:31 pm said:
@Papoj: Thanks for the note! Yes, I have a guide on distributed
systems (http://betterexplained.com/articles/intro-to-distributed-
version-control-illustrated/) and some git tips
(http://betterexplained.com/articles/aha-moments-when-learning-
git/). Thanks for the feedback, its helpful to know what techniques
are working. I find one of the best ways to explain a new concept is
to relate it to what were already familiar with.
Emilio
on March 27, 2012 at 7:17 am said:
kalid, what kind of license has this article? I want to translate parts of
it into spanish, for educational uses (very-first course in university). I
dont need all the information here, only the big ideas, and you have
one of the best explication Ive found.
kalid
on March 27, 2012 at 9:49 am said:
@Emilio: Feel free to translate and use the article for educational use!
Just please include a reference back to the original. Thanks!
Deepak
on March 28, 2012 at 10:39 am said:
Hi Kalid, thatnks for this nice visual article.Now I git it ..keep the
good work going.
kalid
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
51/54
on March 29, 2012 at 4:13 am said:
@Deepak: Thanks!
Emilio
on March 29, 2012 at 7:58 pm said:
Kalid, Thank YOU! I will put the source. If you want, you can send an
email, when the document is finished, I could send you a copy. Do
you use visio for the graphics? I think Ill use libreoffice draw.
kalid
on April 12, 2012 at 9:30 am said:
@Emilio: Youre welcome! Sure, itd be fun to see the article when
youre done. I use Powerpoint 2007 for the graphics.
ANdrew
on May 2, 2012 at 4:26 pm said:
Great stuff, your article explains version control very nicely!
I like that youve used a combination of methods to explain the
concepts, and havent posted large blocks of svn/git/hg commands!
Stephen
on May 2, 2012 at 5:54 pm said:
Thanks a lot!! I have heard about version control for ages but never
really understood till I read your article!
kalid
on May 2, 2012 at 8:52 pm said:
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
52/54
@Stephen: Awesome, glad it helped!
@Andrew: Thanks, appreciate it. Definitely, just throwing a chunk of
text commands at someone doesnt convey the intuition behind it all.
Peter Drinnan
on May 6, 2012 at 12:31 pm said:
Just wanted to point out that if you are on Windows, the new
GitExtension package includes everything you will need to setup
msysGit and the configuration works with TortoiseGit too. May save
you some time.
http://code.google.com/p/gitextensions/
brighteyes27
on May 22, 2012 at 10:10 am said:
Thanks Kalid, the write-up was done well. I have a much better
understanding on the Version Control concept. The visual examples
were very helpful and sealed the knowledge in my brain. Thanks
again!
kalid
on May 22, 2012 at 12:35 pm said:
@brighteyes27: Awesome, glad it helped!
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
53/54
Robbie
on May 24, 2012 at 8:54 pm said:
I was struggling to understand version control and then I found this
and it was so clear and concise that it helped me to understand what
is being stated about it.
Thanks
Jommar
on June 10, 2012 at 7:58 pm said:
It helped me to understand the functionality and the usage of the
VCS. Thanks
kalid
on June 11, 2012 at 10:20 am said:
@Jommar: Thanks, glad it helped.
ann
on July 6, 2012 at 11:22 pm said:
Very good explanation. Thanks
Kaviraj R
on July 25, 2012 at 9:49 pm said:
Is there any standards to follow for version numbers? that is V1, V2,
V3.. and V1.1 V1.2, V1.3.
how to decide which number system to use.
if i use v1.1,v1.2 v1.9 what is next? is there any specification to
choose V1.10 or V2.0.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
54 10/9/2012
7/27/2019 A Visual Guide to Version Control _ BetterExplained
54/54
kalid
on July 31, 2012 at 2:33 am said:
@Kaviraj: No official standards, but its usually
MajorVersion.MinorVersion. So if its a small upgrade, you only
increment the minor version. v1.0 to v1.9 to v1.10 to v1.11. Note
that v1.10 and v1.1 look similar, so its best to skip 1.10 and go
to 1.11.
Vee
on August 16, 2012 at 11:07 pm said:
A fantastic article for every type of user typically. This help out in lot
of concept and situations.
Thanks
Bunnynew
on September 16, 2012 at 12:39 am said:
Hi,
I recently started using Apache VisualSubversion. We are testing in
Standard Free Edition. It is working nicely. My Developers want that,
instead of committing in Repos directly, it should be passed via an
Admin.
To be clear, if they do any changes in source file, it should be notify to
an Admin user. That admin user should be able to commit in Repos
after reveiwing the changes in source file.
Is this possible as I didnot find anything in visualsubversion ?
Is there any other product to achieve this ?
Thanks.
ual Guide to Version Control | BetterExplained http://betterexplained.com/articles/a-visual-guide-to-versio
Top Related