Why is everyone building on GitHub?
Tags: beginners, opensource, tutorial, productivity
Published: 2022-10-31 20:09:59

---
title: Why is everyone building on GitHub?
published: true
tags: beginners,opensource,tutorial,productivity
canonical_url: https://makendran.hashnode.dev/why-is-everyone-building-on-github
---

# Introduction

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665496860515/DalvBOHRX.png)_[Image Source](https://www.codenameone.com/blog/github-migration-plan.html)_

GitHub gives the important features companies and organizations need for their public and private projects. Whether it's planning features, fixing bugs, or collaborating on changes, GitHub is the place where the world's software developers gather to make things. Make them better.

# Difference between Git and GitHub

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665496905673/hIIU3UQSh.png)_[Image Source](https://pro.academind.com/p/git-github-the-practical-guide)_

Git is a distributed version control system that allows multiple developers or other contributors to work on a project. It allows you to work with more than one branch and push them to a remote repository. Git is responsible for everything that happens on your computer.

# Key Features of Git

1. It is installed on your machine. 
2. It handles version control. 
3. It supports branching.

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665497022844/RCPuuH7Wh.png)_[Image Source](https://www.howtogeek.com/180167/htg-explains-what-is-github-and-what-do-geeks-use-it-for/)_

Git is the core technology of the cloud platform GitHub. It simplifies the process of collaborating on projects and provides a website, command-line tools, and overall flow that allows developers and users to work together.

# Key Features of GitHub

- Issues. 
- Discussions. 
- Pull requests. 
- Notifications. 
- Labels. 
- Actions. 
- Forks. 
- Projects.

## Issues

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665497136119/ShSYK0sE1.png)_[Image Source](https://docs.github.com/en/issues/tracking-your-work-with-issues/about-issues)_

Most of the communication between a project's consumers and development team occurs in issues. Bug reports, feature requests, documentation clarifications, and more can be discussed in an issue. An issue can be assigned to owners, labels, projects, and milestones once it has been created. Issues can be associated with pull requests and other items.

## Notifications

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665497191370/4aBLSkSkK.png)_[Image Source](https://github.blog/2020-06-25-github-enterprise-server-2-21-is-here/)_

Notifications are offered for virtually every event that takes place within a given workflow. These notifications can be adjusted to meet your preferences. You can subscribe to all issue creations and edits on a project, or you can just receive notifications for issues in which you are mentioned. You have the option of receiving notifications via email, web, or both. You can keep track of all of your notifications on the dashboard.

## Branches

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665497269278/0GBYZvaB5.png)

_[Image Source](https://recodehive.com/how-to-create-new-branch-and-merge-in-github/)_

The preferred way to make changes in the flow is through branches. Multiple people may work on the same code in a controlled way if they are isolated. The model enables stability among critical branches, such as `main`, while allowing complete freedom for developers to make changes they need to meet their goals. The code from a branch may be merged via a pull request once it becomes part of the main branch.

## Commit

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665497420779/kvyPeEHoM.png)_[Image Source](https://docs.github.com/en/get-started/quickstart/hello-world)_

A commit is a change to one or more files. Every time a commit is created, it's assigned a unique ID and tracked along with the time and contributor. This gives a clear audit trail for anyone to review the history of a file or linked item.

## Pull requests

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665497499158/3g64wCYvc.png)_[Image Source](https://opensource.com/article/19/7/create-pull-request-github)_

A pull request signals that the commits from one branch are ready to be merged into another branch. One or more reviewers will be requested by the developer to verify the code and approve the merge. The reviewers can comment on changes, add their own, or use the pull request for further discussion. "The pull request's source branch may be merged into the base branch if the changes are approved."

## Labels

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665497544829/BlMOqkHWW.png)_[Image Source](https://blog.zenhub.com/task-boards-github-labels/)_

There is a way to organize issues and pull requests in a repository. Several labels will be added for you and new ones can also be created when you create a repository.

**Examples of labels**

- Bug. 
- Documentation. 
- Duplicate. 
- Help wanted. 
- Enhancement.

## Actions

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665497625528/aZfMpjq6u.png)_[Image Source](https://rushflow.io/blog/how-to-start-using-github-actions)_

Task automation and workflows are provided in a repository by GitHub actions. Continuous integration and continuous deployment can be implemented using actions.

The following components are used in GitHub Actions.

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665497825509/cRvsx0CR1.png)_[Image Source](https://docs.github.com/en/github-ae@latest/actions/learn-github-actions/understanding-github-actions)_

**Workflows**

There are automated processes in your repository.

**Events**

An event is an activity that leads to a process.

**Jobs**

There are steps that execute on a runner.

**Steps**

A task can run one or more actions.

**Actions**

The commands can be combined into steps. A job can be created with multiple steps.

**Runners**

The server has the GitHub Actions runner application installed.

## Forking and cloning

You can use multiple ways to copy a repository on GitHub.

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665500008905/2hPaVvyEd.png)

_[Image Source](https://www.dataschool.io/simple-guide-to-forks-in-github-and-git/)_

A copy of the repository and its history can be found on your local machine. You can push changes from your local machine to the remote repository if you have write access to the repository. The git clone [url] command can be used to clone a repository.

A repository is a copy of the repository in your account. The parent repository is referred to as the `upstream` while the forked copy is referred to as the `origin`. You can clone a repository into your local machine once you fork it into your account. Changes to a project can be made without affecting the original repository.

> Pull requests from your forked repository are used to contribute changes back to the upstream repository. You can run git commands to make sure your local copy stays in sync with the upstream repository.

## GitHub Pages

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1665497962326/5J9uOSAwq.png)_[Image Source](http://www.diogonunes.com/blog/github-pages-custom-domain-namecheap/)_

The hosting engine is built into your account. By following a few rules, you can build your own static site from the code pulled directly from your repository.

Kindly watch the below video to know Why is everyone building on GitHub?


{% youtube t62EkmrFgnI %}

# Guided tour of GitHub

Kindly watch the below video for the Guided tour of GitHub



{% youtube UO00xgxxlIA %}

# Reference Article

[Introduction To Github](https://github.com/skills/introduction-to-github)

Gratitude for perusing my article till the end. I hope you realized something unique today. If you enjoyed this article then please share it with your buddies and if you have suggestions or thoughts to share with me then please write in the comment box.

Follow me and share your thoughts,
[GitHub](https://github.com/MakendranG)
[LinkedIn](https://www.linkedin.com/in/makendran/)
[Twitter](https://twitter.com/MakendranG)