A Visual Guide to Version Control

Is there a VCS that doesn’t require a server environment? Something that I can use with Visual Studio 2005 for C#

[…] [CODE] A Visual Guide to Version Control […]

Great detail of how the version control works. Thanks for time to put this together.

Great article!
I’d like to add my grain of salt here. If you read this and you thought “oh well, a version control system is probably hard to install” (with the server, etc.).
I strongly suggest you try Mercurial (www.selenic.com/mercurial) or Bazaar (bazaar-vcs.org).
You can initiate a repository in any directory with one command. No fuss. You’re then ready to commit, undo at will, as explained in the article.
On the other hand if you ever need to setup a main server you can too. The point I want to get across is simply that using a “distributed” VCS nullifies the barrier to entry. Want a repo, anywhere? Type ‘bzr init’ or ‘hg init’. Done!

Oh, and Carlo, I think both my suggestions will satisfy your need. I currently work with Bazaar at work when working on my code, and I use VS2005 with C#.
If you want a graphical user interface you might want to check for TortoiseBzr, which is a graphical front-end for Bazaar. http://bazaar-vcs.org/TortoiseBzr
I haven’t had the time to use it yet, though.

[…] A Visual Guide to Version Control | BetterExplained These are the basics — as time goes on I’ll share specific lessons I’ve learned from my project (tags: development learning management tutorial visualization webdev reference) […]

@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 webmat’s 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.

While this looks like a nice introduction to the CVS and SVN model of version control, it’s 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 don’t directly track files (eg Git), systems that don’t use revisions (eg Darcs), and probably other categories.

Hi, thanks for the feedback. Yes, this guide was meant to give an intro to the most common VCS concepts. I wasn’t 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, I’ll caveat the sentence with “Most” vs “All” :).

[…] A Visual Guide to Version Control | BetterExplained […]

[…] Version Control […]

Thanks this is great for non tech folk

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.

thanks for this great tutorial. Makes a lot of sense really quick.

Gareth and shawn, thanks for the comments. I’m thrilled when concepts can shine through, I really believe any subject should be made sensible to everyone :slight_smile:

Dextrous, I don’t know much about distributed version control systems, but am excited to learn about them. I’d love to write more once I figure them out.

very well explained indeed !!!

Thanks Sagar, glad it was useful for you.

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 :slight_smile:

Thanks Sagar – I find it helps to relate new material to what people already know (like versioning their files by changing the filename). Eventually I’d like to do a tutorial on how to do a tutorial :slight_smile:

[…] A Visual Guide to Version Control | BetterExplained Posted in Tools. […]