Till now we understood VCS and GIT. But I have seen that sometimes people easily get confused Git with Github. So this tutorial is about Difference between Git and GitHub. If you have not gone through those already, I would suggest that you take a look at the tutorials below
Version control systems are great in managing versioning. Most important part is that VCS lets teams focus on actual development. There are many great VCS available of the shelf in the market. Git is one of the most famous VCS and it is also become an industry standard. It is very important to be skillful in understanding with Git.
Difference between GIT and GitHub
In the IT industry there are two terms that are used frequently, Git and GitHub. Both refer to two different entities, let us see what is the difference between GIT and GITHUB?
Git: It is a Distributed Version Control System for tracking versions of files.
Github: It is web portal and cloud hosting service for your Git repositories.
That’s it. Git is the magic sauce that allows you to track and host versions of files on Github. In other words, you use commands of Git to track versions of your files. And Github is just a remote platform where these files are hosted. However, if this explanation didn’t satisfy your queries then read on the following points elaborating more about these two terms and their usage:
What is the Difference between GIT and GitHub?
- Git allows you to track versions of your code in your local machine. However, if you want a remote backup of your code or want to publish your code to a community then you’ve to push it to Github. (More about pushing code is coming in upcoming tutorials)
- It’s not mandatory to use Github. Yes, you read that right. If you’re the sole person working on the project and don’t need to publish your code to the world then you can simply avoid using Github. Just track the versions of your code in local repository of your machine using Git.
- By this point, it’d be clear that committing the code using Git in your local machine doesn’t automatically upload it to Github too. There are two distinct terms for these activities – Committing and Pushing. Committing is capturing the changes from your working copy to your local repository. On the other hand, Pushing is uploading the captured changes from your local repository to Github.
- Neither of these processes (Committing and Pushing) are automatic. You’ve to manually select the files that you want to track. In this way, you have the control of allowing and restricting the content to track and publish. Ex: Supposed you create a temporary java class to try a particular function. As this is a temporary file to write experimental code, you don’t want to commit it. So, you have the flexibility to exclude files from being tracked by committing the files manually.
GitHub is the most popular Git hosting service today. The main secret of its success is the free plan with free unlimited public repositories. Although you need to pay for private repository but almost every open source project chooses GitHub for their project. There are many other good features as web pages, issue tracking or source code snippet sharing etc, these make it stand apart from the others.