GitHub Introduction

GitHub, Inc. is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features.

Here is a link to the company website: GitHub.com.

Here is a link to the GitHub Wikipedia page.

What is GitHub

GitHub is a web-based interface that uses Git, the open source version control software that lets multiple people make separate changes to web pages at the same time. This allows for real-time collaboration, GitHub encourages teams to work together to build and edit their site content.

How can GitHub help my team (and me)?

GitHub allows multiple developers to work on a single project at the same time, reduces the risk of duplicative or conflicting work, and can help decrease production time. With GitHub, developers can build code, track changes, and innovate solutions to problems that might arise during the site development process simultaneously. Non-developers can also use it to create, edit, and update website content.

Common GitHub terms

Becoming fluent in GitHub terminology might seem intimidating at first, but the more team members engage with the platform, the easier it is to understand the ins and outs of GitHub. Here are some of the common terms teams will need to understand when using GitHub.

  • Repository (repo) — a folder in which all files and their version histories are stored.

  • Branch — a workspace in which you can make changes that won’t affect the live site.

  • Markdown (.md) — a way to write in Github that converts plain text to GitHub code. Sites such as Atom and Sublime Text are examples of free resources for developers using Markdown.

  • Commit Changes — a saved record of a change made to a file within the repo.

  • Pull Request (PR) — the way to ask for changes made to a branch to be merged into another branch that also allows for multiple users to see, discuss and review work being done.

  • Merge — after a pull request is approved, the commit will be pulled in (or merged) from one branch to another and then, deployed on the live site

  • Issues — how work is tracked when using git. Issues allow users to report new tasks and content fixes, as well as allows users to track progress on a project board from beginning to end of a specific project.

  • Federalist — a platform that securely deploys a website from a GitHub repository in minutes and lets users preview proposed and published changes.


GitHub Actions

GitHub Actions makes it easy to automate all your software workflows with CI/CD. Build, test, and deploy your code right from GitHub. Make code reviews, branch management, and issue triaging work the way you want.

Here is a link to additional resources from GitHub directly: GitHub.com/Actions

In addition, here is a useful resource: GitHub Actions Tutorial - From zero to hero in 90 minutes - including environments, secrets, runners, etc.


GitHub Advanced Security

GitHub has many features that help you improve and maintain the quality of your code. Some of these are included in all plans, such as dependency graph and Dependabot alerts. Other security features require a license for GitHub Advanced Security to run on repositories apart from public repositories on GitHub.com.

Here is a link to additional information from GitHub GitHub Advanced Security

In addition, here are a couple of helpful resources related to GitHub Security: