GitHub is a repository hosting service, based on command line but with a web-based graphical interface. GitHub also has a desktop application for building and loading projects. GitHub provides access and version control for collaboration and task management. GitHub allows users to publicly publish their code for free, providing wide exposure for projects. GitHub can be integrated with many platforms such as Amazon and Google Cloud. GitHub supports a variety of different coding languages and is currently the largest code sharing community.
The GitHub training is provided through the GitHub Learning Lab and provides a basic overview of how to use GitHub functions. The first training is an introduction to GitHub which explains how to turn on GitHub pages, assign yourself to an issue, close an issue, create a branch, commit a file, open a pull request, and merge that pull request.
GitHub pages are what this project is currently hosted on. GitHub pages can have custom themes and blog posts. The training explains how to create new blog posts. The training also provides an extremely brief overview of HTML, including how to add title tags and images, create lists, add links, and load style sheets. There is also a portion of the training dedicated to Markdown, which is an alternative way to style text instead of HTML and CSS.
The next portion of the training involves reviewing pull requests. Pull requests can be reviewed before they are approved to verify that the code being added is correct. By creating new pull requests, it is also much easier to back out changes because the pull request can be undone. This also includes managing conflicts, which is important when more than one person is editing the workspace at once, because GitHub does not know which change to prioritize. This is why GitHub requires that someone reviews and manually merges the code. This portion of the training explains how someone assigned to the issue can decide which change to keep, if any of them, and then how to resolve the conflict and merge the pull requests.
Projects can be uploaded directly to GitHub in several different ways, either directly through the webpage or through the desktop app. The desktop app is easier for larger projects or projects which are scattered in various folders. They can then be uploaded from the desktop app onto GitHub. Repositories can also be migrated to GitHub, which allows this so that large projects can be moved either from a local desktop or from a different hosting platform. Finally, the training explains how to secure workflows. This includes explaining how to spot and eliminate vulnerable dependencies.
GitHub is a useful tool for teams working on code. Versioning is very important when making code changes, particularly in a production environment. GitHub provides this versioning as well as a checks-and-balances system to help avoid pushing code without approval. It also allows for the coders to make comments about the changes that are being made without having to include those comments directly in the code itself. These comments can be exceptionally helpful for future coders who are trying to understand why specific changes were made.