Hey, guys, a new blog is up!!!! Being in the computer science field you have to come across the name git/GitHub. (Some of you might have even know the term but might be confused). As it seems to be a very big and complicated term, but it is as simple as ABC. The only thing is that you need to be clear about the concepts and this blog definitely will clear all your concepts regarding git and will clear all your concepts related to git.
Let us start with the simple yet basic introduction, What is Git and why we need Git?
You might have come across the statement that “Git is a version management system”. Now the question comes that what is a version management system?
Let me explain you by a simple example. Imagine you are working on a big scale application with a couple of your colleague each one of them are working on a different feature, for example, someone working on login feature, other working with the APIs and yet other one working on some other management system. In the end, you want to merge out each and every feature. Here comes the role of Git.
Also, imagine a situation that while working on the same application, you thought of adding a feature lets say the API related feature. But something wrong happened and the things did not go the way they should have gone and everything just got messed up. Now you wish to if you could get back to the old code and the things could be reversed back. And again version control system comes here to give you a helping hand. To restore your application to a certain stage where it was working completely fine here comes Git. This can be done by committing your application(my next blog would contain more about what is committing and other important terms related to Git, this is just the introductory blog on Git).
You can also use Git for showcasing your work to the employer so that he/she can check out the works you have done, what kind of code you have written, or what are the projects or applications you have worked on or have built, what languages you know. You can send your profile to anybody by pushing it into Github. Not all of you guys might like your work to be public and viewed by all the people around there. Also, you may not want people to see your work when you will be working on a big application for a company or even for yourself, then you can go with the private part of GitHub(various paid schemes are available will discuss it in the later section).
Now comes another important point that most of you guys might think that if you want to work with GitHub, the only way to do that is with the terminal(black screen which sometimes seems to be weird, a lot of you might think of it as a nightmare when it comes to using of terminal). Here, you have another option. You can use GUI based application provided by GitHub for various windows, mac os, Linux (I personally prefer to use a terminal, I am not biased towards any of them but I have a higher opinion for using terminal).
It doesn’t matter which platform you are using to communicate with GitHub. You just need to know the basic steps of pushing, committing and pulling the code.
I won’t be discussing the commands that we will be using for pushing our code on Github. This will be discussed in another blog (link to the blog: https://www.techdenovo.com/git-and-its-commands-and-github/).
Now let us dive into the what is GitHub?

GitHub is a platform which allows you to do the above-mentioned things. Github keeps a record of everyone’s contribution when you are working with multiple people. Also, it does keep a record of the version of the code you uploaded. (or in a simple sense it tracks the changes you have made while building your application)
Let me make you guys familiar with the terms repository, branch and issues.
A repository is a centralized storage which stores your data or source code files. A repository makes possible for many developers from remote locations to work together using a repository.
Issues are a discussion on threads where people can report bugs, ask questions or request some new features.
Suppose that you are working on an application and you have released 1st version of the same. Your client is using the application. Now he wants you to add some other feature to the same application but simultaneously he also wants to continue using the application till you complete the new feature. In such a case you need a dedicated place to experiment so that none of the changes you made affects the old version of the application before you are done with it. And hence you create a branch of the code, it is an alternate timeline where you can safely make the changes to your application without affecting other users.
In my next blog, I will be talking more on git, on GUI based application that Git provides and various packages that Git provides.

Leave Comment