Git — A geek’s warehouse ( Task 2.2 )

Git, have you ever wondered what the heck that is? I am here to answer all the questions that I can possibly think of and that a beginner might have about git. Let us begin with some history. It’s always great to start of learning something in Computer Science by reading about its inventors. Atleast for me this works, as I get inspired by the amazing work that these greats have done in Computer Science.

Some History

Git was created by Linus Torvalds in 2005 for development of the Linux kernel, with other kernel developers contributing to its initial development. Its current maintainer since 2005 is Junio Hamano. Linus Torvalds is a legendry programmer who is known for creating the Linux kernel. Yeah, the OS that we were trying to install in our earlier blogpost, it’s kernel was created by him.

What is git?

Git is currently the most popular implementation of a distributed version control system. So what is a distributed version control system? Let me explain it in detail.

Version Control System (source:

Version control system: A version control system (VCS) allows you to track the history of a collection of files. It supports creating different versions of this collection. Each version captures a snapshot of the files at a certain point in time and the VCS allows you to switch between these versions. These versions are stored in a specific place, typically called a repository.

Types of Version Control Systems:

There are 3 types of version control systems:

  1. Localized version control system : A localized version control system keeps local copies of the files. This approach can be as simple as creating a manual copy of the relevant files.

2. Centralized version control system: A centralized version control system provides a server software component which stores and manages the different versions of the files. A developer can copy (checkout) a certain version from the central sever onto their individual computer.

Both approaches have the drawback that they have one single point of failure. In a localized version control systems it is the individual computer and in a centralized version control systems it is the server machine. Both system makes it also harder to work in parallel on different features.

3. Distributed version control system: In a distributed version control system each user has a complete local copy of a repository on his individual computer. The user can copy an existing repository. This copying process is typically called cloning and the resulting repository can be referred to as a clone.

You should also read this answer on the stack exchange community. It is one of the simplest explanations of VCS that I could find on the internet.

So now that we have a good understanding of what git is we should start learning it. We were recommended to learn Git from here. There is one more source that helped me alot while learning Git. Here is the link to that source. You can check this out if you are facing problems and finding it difficult to learn git.

So for now we are done with Git. So should I end this post here? Of course not, the fun part is yet to begin. Although reading further won’t help you to learn about git but it will allow you to modify your terminal and make it look like you are a pro hacker.

We were done installing git bash on windows in my previous post. If you are like me then you just love modifying your system to make it look more appealing and cool. So now is the time to modify our git bash terminal. Here is how you can do that:

  1. Open your git bash terminal. Right click on the title bar and a context menu will appear.

2.Click on options and this window will open.

3. Now what I like to do is I set transparency to Medium and set Background as black and foreground as light green. This helps me to acheive that hacker kind of a terminal which you see in movies.

This is what your git bash terminal will look like if you do all these steps.

If you liked the article then you can clap for it so that more people will get to see it. Feel free to follow me here on medium and connect with me on LinkedIn and Twitter.

Have fun pretending to be a hacker 😜 !!