GitHub is a website/service that we hear a lot, yet many people don’t understand what it does. Want to know what all the fuss is about? Read on to find out.
According to Wikipedia, As of February 2016, GitHub reports having more than 12 million users and more than 31 million repositories, making it the largest host of source code in the world.
‘Git’ in GitHub
To fully understand what GitHub is, you must first have the understanding of Git. Git is a widely used Open Source version control system/ source code management system for software development that was started by Linus Torvalds – the same person who created the Linux. It was initially designed and developed in 2005 by Linux kernel developers for Linux kernel development.
Version Control System
So, Git is a “version control system,” what does that mean? When developers are creating something ( application, for example), they are making constant changes to the source code and releasing new versions.
Version control systems keep the track of the updates and store the history of the modifications in a central repository. It allows the team of
developers to collaborate quickly, as they can download a new version of the software, make necessary changes, and upload the newest revision. Every developer can see these new changes, download them, and contribute.
For example, you have some important project, and you are planning to store all the files for that project somewhere in the new directory. You know that as time goes, the files in this project will change. Sometimes things could get messy, and who knows when you might need to revert to a previous working version of what you had?
So, you install Git on your computer. Git creates the new project directory for you. You also tell Git that you would like to keep a history of the changes you make within that directory. As you progress with the project, the latest changes you made in the project will act like the incremental steps on the journey of your project. And at each step, Git takes the snapshots to which you can revert to anytime.
You can use Git to step back and forth whenever necessary through each snapshot (snapshot aka version) of your project directory.
Collaborating with Git
Git sometimes also called as distributed version control system. All that means is that Git has commands that allow you to
pull your changes to other people’s machines:
Neither copy of the project directory is any better than any other – you are both collaborating on identical copies. It is a good thing because Git gives you the power to work on your copy until you are ready to
pull in your collaborator’s changes, and
push back your changes. Here the problem is that until you are working right next to each other every day, you cannot be sure exactly that when your collaborator will have their machine on and plugged into a network.
Wouldn’t it be great if there is the third identical copy that both of you can push and pull from?
Role of GitHub
Here where Github shines the most, this is what GitHub is at its core. In laymen words, GitHub provides service by hosting all your Git repos, and to make it easier for you to push and pull from your collaborators.
Agree or not open-source is making the world a better place. If you are one open-source freak, this is a goto place. According to GitHub, it hosts more than 5 million open-source projects, and surprisingly no one is stopping you from contributing to those projects.
It is best for the students and newcomers to the industry, who always complains about the lack of experience and projects. Problem solved!!
As for now you are inspired enough to explore GitHub yourself and play around with it. This post will continue with the beginners guide and getting started with GitHub.
Till then “Be Hungry and stay foolish”.