DEV Community

MakendranG
MakendranG

Posted on • Originally published at makendran.hashnode.dev on

Why is everyone building on GitHub?

Introduction

image.pngImage Source

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.pngImage Source

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.pngImage Source

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.pngImage Source

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.pngImage Source

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

Image Source

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.pngImage Source

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.pngImage Source

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.pngImage Source

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.pngImage Source

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.pngImage Source

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

Image Source

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.pngImage Source

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?

Guided tour of GitHub

Kindly watch the below video for the Guided tour of GitHub

Reference Article

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
LinkedIn
Twitter

Top comments (2)

Collapse
 
lmtr0 profile image
lmtr0

gitlab has all of that and is giving open source projects free ultimate licenses

Collapse
 
shbz profile image
Shahbaz

Github is the all in one box for developers.