Git vs GitHub

Thilini Herath
5 min readMay 15, 2022

Version Control

To fully comprehend the differences between git and GitHub, you must know about version control.

The ability to manage an application’s change and configuration is known as version control. Versioning is a valuable process, especially when many developers are working on the same program. It allows them to share files effortlessly. Without version control, developers will eventually stomp on each other’s toes, overwriting code modifications made by others without even recognizing it. These systems allow you to check files out for alterations, and if the files have been altered by another user, you will be notified and given the option to combine them during check-in.

Version Control Benefits

Before committing any code, version control systems allow you to compare files, find differences, and integrate changes if necessary. Versioning is also useful for keeping track of application builds because it allows you to see which version is in development, QA, and production. When new developers join the team, they can use the version control system to easily download the latest version of the program to their local environment and keep track of the version they’re using. If you desire to keep distinct development efforts separate during development, you can have completely independent code versions. When you’re ready, combine the files together to make a final working version.

What is Git?

Git is a version control system that must be installed on your local system before you can use it. Git is an amazing software for a single person working on a project. What if you’re working on a project with a huge group of people? Everyone will be working on the same project, but each of you will be working on a different version. Let’s say you’ve made modifications to the project directory on your computer and want to share them with your teammates. You also want the changes they make to appear in the project directory on your machine.

Working on a project requires you and your teammates to be on the same page in order to avoid any conflicts. So, what are your plans? So, don’t be concerned. Git takes care of everything, but there is one requirement: each member of your team must have Git installed on their systems.
Git is also known as a distributed version control system, which implies you can push and pull your changes to other people’s workstations using Git.

You can now collaborate on the same copy with your team member using Git. However, until and until you pull your collaborator’s modifications and push back your own, the copy on which you’ll be working will not reflect any of the changes in the main directory.

The way Git stores data is what sets it apart from other VCSs like Subversion (SVN), Mercurial, TFS, Perforce, Bazaar, and so on. Information is saved in other systems as a list of file-based modifications, a process known as delta-based version control. Git, on the other hand, keeps its data as a sequence of snapshots on a small filesystem. When you commit or save the state of your project with Git, a snapshot of the current file state is taken and a reference is saved. Git stores a link to the previous file it has already stored if no changes or updates are made.

However, Git will only be useful if you know when your collaborator’s computer is turned on and connected to the internet. So, what will you do if your teammates are unavailable? A third party with an identical copy of your project, from which you can simply push and pull modifications, will come in helpful in these scenarios.

What is GitHub?

As previously stated, Git is a version control system that tracks changes when dealing with computer codes, whereas GitHub is a hosting service for Git version control repositories. It incorporates all of Git’s distributed version control and source code management (SCM) features while also adding a few of its own. It is a developer’s paradise, where they may store their projects and communicate with like-minded others. You can think of it as a “code cloud.”

Basically, it’s a location where you can keep your identical working directories or repositories. It’s essentially a hub for Git repositories that you can access by signing up for a free GitHub account. These accounts provide with a large amount of storage space where you may keep your repositories and create a valuable profile. The repositories are public by default, which means that everyone can see your code, but you can make them private as well. So, if you’re a talented programmer, you may post your own apps and programs and gain recognition.

It is compatible with Git collaboration. While Git is a command-line program, GitHub is a Web-based graphical interface that gives you access control, basic task management capabilities, and collaboration options. Furthermore, GitHub can host your project’s source code in a variety of programming languages and maintain track of each iteration’s changes.

If the owner accepts your pull request, you will be given credit on the source site and it will appear in your user profile. It’s a resume-style document that the GitHub project maintainer uses to assess your reputation. As a result, the more users and projects on GitHub, the greater a project maintainer’s understanding of possible contributors becomes. This supports the development of young developers and projects in the industry.

Git Vs GitHub

Now summerize the basic difference between Git and GitHub.

Git

It is a software.

It is command line tool.

It is installed localy on the system.

It is focused on version controlling and code sharing.

It provides functionalities like Version Control System Source Code Management.

GitHub

It is a service.

It provides a graphical interface.

It is hosted on web.

GitHub is a hosting service for Git repositories.

GitHub is focused on centralized source code hosting.

--

--

Thilini Herath

BSc (Hons) in Information Technology Specializing in Software Engineering undergraduate at SLIIT