What is Git and GitHub?
Tags: git, github, beginners, development
Published: 2019-06-20 13:00:31

---
title: What is Git and GitHub?
published: true
description: Git is a code versioning tool for local systems whereas GitHub is a cloud service for code versioning with a code repository where social sharing and a lot more can be done.
tags: #git #github #beginners #development
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ohlykhbkgp0qk2k6m4js.png
---

As we have enormous exposure to the software development industry so, it is quite possible that you have heard about code versioning and code repositories. Even if you don’t have a clue about these terminologies then you will be acquainted well after reading this blog.

**What is Git and GitHub?**

Code repositories are sort of rented code warehouses or code hosting services with version control software. The most popular ones are GitHub, Bitbucket, CloudForge, Source Forge and GitLab where repositories are held publicly and privately. Every developer working as a team member on a project develops small pieces which are later on get integrated with the code received from other team members to deploy a feature.

**Git and GitHub in a Nutshell**

In case a developer makes some required changes for further software development then these changes are not reflected on other team members’ system which result in conflicts on code integration. It gets difficult to know the changes to be held and the ones to be discarded for resolving a conflict. So, to put all this in short, code repositories help developers in collaborating, syncing teams and avoiding conflicts.

**What is Git?**

Git is a code version control system or code versioning tool developed by Linus Torvalds who also developed Linux. If the developer notice issues with last updated code then he/she can check what was changed and quickly figure out and fix the issue. Git does the versioning on the local system; therefore, a cloud version was required to prevent the code from system crashes and for efficient collaborations between software development teams.

**What is GitHub?**
GitHub is a web service for code version control system with many other features. GitHub also works as a professional network for developers where People can see the contributions of developers to other projects. Every developer creates a profile when they register on GitHub under which they can create Code repositories with public or private access.

Software companies design a complex tree-like structure for uploading code to code repositories, this complex structure and its usage is defined under the Git Branching Model and Git Flow. Every developer is responsible for uploading their code only on their respective branches and the further branches are used for code integration, testing, quick fixes and deployment.

**Following are the main operations in the version control system on GitHub:**

*Git initialization*
To initialize an existing directory as a Git repository

*Clone*
The developers can clone the code from code repositories into their system through command line or they can even download it from GitHub as a package.

*Commit*
Git commits means that you want to write data in existing files or want to overwrite the existing files.

*Git Add*
Git adds command simply means that you want to send the mentioned files with the next commit.

*Push*
Git push sends the code to code repository which will reflect the changes on the previously saved code on the cloud.

*Pull*
Git pull command is used to fetch the changes from code repository on the cloud if there are any.

*Fork*
Forking is a process where developers can clone a code repository to use it as a reference point for a new project or they can code and suggest improvements to the current repository through a pull request to admin.

Source: https://www.decipherzone.com/blog-detail/What-is-Git-and-GitHub-