Chapter 1. Breathe Easy – Introduction to Version Control System

We might have wondered numerous times if there is a way we could travel back in time to change what had happened in life. Well, as fictional as it sounds, you are going to learn a method to perform this travel when it comes to digitized files! Yes, you read that right; this chapter is going to introduce you to a system that makes this possible. We will begin by giving you a solid conceptual understanding about version control with Git.

This chapter will answer the following questions:

  • What is a version control system?
  • Where do you need one?
  • How did they evolve?
  • Why is Git your best bet?

By the end of this chapter you would be able to visualize how you can better handle situations where frequent changes happen on different parts of your digitized files. So let's get started right away!

Do you need help

I learned to play computer games even before learning to switch a computer on or off, for which I sought an adult's help. The early computer games, which put us in awe even at that time, had a few frustrating moments when they wouldn't allow us to save our progress. Even if they had a save option it was a single save slot at a time, which meant you could only save your progress at the cost of your earlier save. This was a shame, because your previous save might have been at an exceptionally fun part of the game that you would like to preserve now and revisit later some day, or even worse, your present save might have been at an unwinnable situation that you want to undo.

Computer games have evolved from this state while our way of working with digitized files remains the same. Options like undo and redo help us momentarily when the file that we are working with is still open, but fail to go beyond that. You cannot just open a file and start undoing the changes that you have made before your last save to get back to an older state.

There are also several situations where we would like to maintain multiple versions of the same file. Even the most widely used way of maintaining multiple versions of a file by naming the new files sequentially, for example, Inventory_product_2011-09-21.doc, System_requirement_specification_v6.xls, and so on, become a pain as the number of versions increases because of the huge volume of the number of files that has to be maintained.

Now if you have experienced or thought about any of these situations and wondered whether there is a way to handle this better, you will be rejoicing at the end of this chapter. This is where a version control system (VCS) comes into play.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.105.108