What is version control, and why should you care?

  • Do you want your code safely backed up in the cloud?
  • Do you want to keep track of your code changes, when you change it, and why you changed it?
  • Do you want the ability to revert back to previous versions of your code?
  • Do you want to collaborate with other people at your company or elsewhere and make software together? This could include having multiple people writing code, contributing to a wiki, or reporting and tracking bugs and feature requests.

If you answered “no” to all of those questions, then this post is not for you. For everyone else… you need a version control system that records changes to a file or set of files over time so that you can recall specific versions later.

In this demonstration I am using these free tools that seem to work together very nicely:

  • Bitbucket – https://bitbucket.org/ – Free source code hosting with unlimited private repositories for up to 5 users.
  • Source Tree – http://sourcetreeapp.com/ – A free Git client for Windows & Mac. In my opinion, much better than running Git commands using the command-line. There are also other options like TortiseGit – https://code.google.com/p/tortoisegit/.
  • Git – http://git-scm.com/ – Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is running behind the scenes at Bitbucket. You won’t run Git directly but it will be hard at work behind the scenes.

There are plenty of websites that do a great job explaining all the concepts of Git – commit, push, repository, etc. To learn more you might start at http://sixrevisions.com/resources/git-tutorials-beginners/


One thought on “What is version control, and why should you care?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s