Version Control 101
Tags: git, github, bitbucket, codenewbie
Published: 2020-05-28 04:59:25

Welcome to my third article from the series **'The Learning's 101'**. In this article, I will be sharing with you my experience with the Version control system i.e, **Git** and the cloud-based hosting services i.e, **Github or Bitbucket**.

### **Version Control**

Well according to me, ***Version control*** is one of the most important skills for a developer. Right from using it for personal projects to using it at an organization level for the projects, version control plays a vital role in my life. Without the help of the version control system, I would be somewhat like this..
![Without Version control](https://media1.giphy.com/media/l2Je6xTnSDh4dmA4o/giphy.gif)

From helping me keep track of my work, creating checkpoints, and reverting back to original code if things don't go as planned in a personal project to collaboratively contributing with my fellow developers on different files and codebases on the organization level, *Version control is the answer to all*.

But what exactly is Version control, let's find out.

By a quick google search we get this:

***Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.***

### **Why you should love Version Control?**

When you are developing a project, irrespective of the domain at some point in time you come to trial, error, and correction to finally reach a successful outcome. That's where version control enters the room!
![version control enters](https://i.chzbgr.com/full/7969032192/h97BE7883/a-new-door-way-to-open-the-door)

Version control helps you keep track and log all these changes by creating a virtual snapshot of each of the scenarios with the added ability to go back if things don't turn the way you want it to be. Apart from logging changes made to different files, version control also helps when collaborating with other developers by always helping you work on the latest version of the files so that even if someone else had made changes on a particular file you get to work on the latest version after you pull the changes.

![Cool](https://thumbs.gfycat.com/SharpUnluckyGuernseycow-small.gif)

### ***Version Control system vs Cloud-hosting Services***

*Version Control system vs Cloud-hosting Services or let's just say Git vs Github !*

When it comes to the version control system, **Git** *is by far the most favorite developer toolkit*. Other than Git, we have **Subversion** and **Mercurical** but clearly Git hub is preferred by 92% of the developers.


We have already discussed a lot on version control lets just pick up speed on cloud-hosting services too. Cloud-hosting services are the online database that allows you to keep track of your version control project which is available locally on your computer.

*For simplicity, we can say that Github is to Git what Facebook is to you. Well, this means that Facebook is your online record of activities and you are you. Right?*

![Confused](https://media.tenor.com/images/db13fea1dac06f8aef5bd1dd7dc07cfb/tenor.gif)


When it comes to cloud-hosting services, we do have plenty of options. **Github** *being most favorite among the developers and open-source enthusiast which give the option to create unlimited public as well as private repositories*, but when it comes to *organization* **Bitbucket** *is preferred one because it comes from Atlassian software family, which lets you integrate your other Atlassian products like Jira, Bamboo, and HipChat, and communicates well with all of these*. Another popular name being **GitLab** *because of its continuous integration (CI) capabilities which automate the testing and delivery of your code, which means you can get more done and spend less time waiting for tests to pass*.      

### **Wrapping It Up**

So although all this might sound very sketchy to few, honestly it is not. Version control is just one of the toolkit which was designed to make a developer's life **easy-peezy**. It does not matter if you are working single-handily on a project or with co-workers, version control will surely lift things up for you!

With that said, **"Happy Committing"**