GitHub: What is GitHub?, Why It's Important?
GitHub is such a platform where you host your code for collaboration and version control free of cost. Here your code is open source, In which other developers are contributing to your project to make it more efficient.
What is GitHub?
Let me tell you in simple words.
Let you and your friends (A, B) are programmers. You are staying jn Ireland. Your friend A is staying in the USA. B is staying in India.
Now you come up with an idea of software. And you inform A and B about it. They also accept it. Now how you will work together?
Because all three on different corners of the world.
If you have to work together, first you should do some programming and B and A should also. Then you all should share the files with each other using email or the cloud. Now think of this, now if you start a part you should send it to both A and B. If A makes something he must share with B and you. Like that for B.
If there is any bug, same problem arises!
Also even if A writes a single bit of code, and he must send you the whole file to you three.
Now think about this if you got 12 more members in your team. Next if you employ more people it would be even more trouble!
Like if your team increases to 100 or 1000!
Now think of this.
Instead of sharing your file with all 999 members, you can upload it in one place. Also instead of uploading the whole code file, you can upload only the change you made. All teams can get it from there.
Then if you come up with an issue, instead of telling each 999 one by one for a solution, you can tell that issue on that platform and it will at a time go to all 999. Also new members can join your project with ease.
And if we define it properly as a technical definition then it would be like:
Why Important GitHub?
- make your resume better.
- Easy to find Jobs
- multi-user work on the same project at the same time.
- Free hosting for your code
- Community support
- Learn so many things to Pro developer
Version Control System?
As the name reflects it maintains all the versions of a file. Means, if you have a file named calculater.java (can be any file, any extension), and you coded it simply to perform options like addition and subtraction. Now after a few days, you plan to release a new version of the calculator including multiplication and division and you did it, now imagine you are working for a project as a team.
You will push your calculator.java code on Git, now if another Team member wants to add a feature to your calculator so that now you can calculate logarithm also, but unfortunately, his code isn’t working, he kept on debugging the errors, and finally, he fixed it! (I KNOW THAT FEELING), the git will store the edit history in git (or any other version control system like others I mentioned).
Git maintains all these versions of your calculator.java file, and you can see the difference any time, and if needed you can revert the changes
3 Types of Version Control Systems
The Git VCS is an awesome thing with many uses but let's not discuss that here and focus on getting started with it. there are three types of version control system:
- First and the most basic one is the local version control system. So as the name suggests, in the local VCS, we basically store the various versions of our software in our local machine itself. eg: in a different directory etc. However, we can clearly see the disadvantages of this approach in that we have to keep track of everything ourselves. It is quite possible that we can make changes to the wrong directory. Also if we need to collaborate with other developers, then that is not possible in the case of local VCS.
- Now let us discuss something known as the centralized VCS. In a centralized VCS, there is a single server that handles all the files and resources of each individual client. The disadvantage that is clear from this is that there is a single point of failure. So if the server crashes or something, then the entire project is lost.
- To deal with the problems of the centralized VCS, something known as the Distributed VCS were developed. So what actually happens in DVCS is that the entire system works on mirroring of the repositories. So the entire code is copied whenever we choose to clone some repo available on the DVCS like Git.
CLICK HERE to make GitHub Account. You can also follow the video given below for how to use GitHub and how to make your first Repository.