Git is Lit🔥 | An attempt to explore the BTS of Git Operations | Part 0(Version Control)

Atul Bhatt
4 min readJan 24, 2021

Sometimes it’s better to start instead of waiting for the right moment. Because you never know if it will arrive or not. And there is always a possibility of making things better as we progress. With this in mind I started my first article on Git — Git is Lit🔥 | An attempt to explore the BTS of Git Operations | Part 1 (The local git).

However, as I had nothing planned in my mind except clearing out the concepts of Git in simple and detailed manner so I missed out on explaining the real purpose of Git — version controlling. So this article is focused on explaining what is version controlling and for throwing a little light on how we can use git and GitHub to achieve it. Don’t mind the Part no to be 0. “We are programmers and that’s where we start the indexing from. Let’s start.

Let’s talk about Version!

In layman terms version can be of something that has the ability to have some change or modification in it. In our case while developing applications or software, or even a single program we will be dealing with files.

So in case if we are creating a new file, the file came into existence and the first version we have of it is the original version. Then we keep on adding lines of code to it and the save the file. The modification of file is not counted until and unless it is saved.

So versions in simple terms are states of a file during the series of changes that it went through.

I know this all sounds so simple and redundant; and maybe something not important enough to be explained. However, these are later going to become an analogy to understand the principles and functioning of git.

The Elephant in the room — {Version Controlling}

Version control is a system of tracking the changes in a file or multiple files so that we can reach back to any state from the point we started modification in the original file to the latest modification.

Suppose the series of modification in a files are in the sequence:
Original file>modified1>modified2>modified3>modified4>modified5>…>last_modification

The ability to jump back to any state of the file from the original state to the last_modification state is called version controlling.

Why we need a Version Control?

As a developer who daily works on implementing new functionalities each and everyday (Except Sunday! That’s the day I write articles on 😜), it becomes important for me to keep track of the changes I’m making to my codes so that I can travel back to a state where my entire project was stable without any bugs which I might have introduced unknowingly while working on new features. Also, Version controlling helps in tracking and comparing the specific files I changed. This also helps me in finding which change might have introduced the bugs.

There are more scenarios where version controlling is extremely helpful. Such as a team project where multiple developers works on a single project. It also helps in keeping track of the changes such as who made the changes with many other useful details like a commit message to give a insight on what were the changes for.

Conclusion

Version Control is like edit and undo feature but for the entire project.
If you feel Ctrl+Z & Ctrl+Y has been your savior many a times. Then you just can’t imagine how much tough your life can be if you’re aren’t using any version control in your project.

This is just a tip of the iceberg. This was just a barebone introduction to how cool version control is and why git is lit.

As we will progress with the series we will look more into why git is called a version control system and how we can use git to perform Version Controlling. We will uncover the famous words that are associated with Git and GitHub, such as fork, clone, pull, push, commit, and much more. So stay tuned for my weekly posts.

Thank you for your time and patience for reading this piece. 🖐 🖐 🖐

--

--

Atul Bhatt

Always trying to be a better version of myself. That's the real progress and meaning of living life for me.