What is GitHub?

JasmineDesign GitHub Octocat Icon

GitHub provides cloud storage for Git repositories but also offers full project management and collaboration features.

It also now includes full feature tooling which allows for working with your Git repository from within the browser.

There are two way in which to store code/files on GitHub which are

A Gist is a simple way to share code snippets with others. It is used when you need to share a sample piece of code or technique with your co-workers or friends.

A repository on the other hand provides a platform to share an entire project as a repository among a team (private) or to the whole world (public).

GitHub and Git

Git is a free and Open Source distributed version control system for keeping track of changes to files. Using Git lets you always have a record of all adjustments, and return to specific versions when needed.

Git can have a remote repository which is stored on a server like GitHub and a local repository which is stored in the computer of each developer. This means that the code is not just stored in a central server, but the full copy of the code is present in all the developers computers.

The remote repository can act as main copy of the code that other developers can submit a pull request to update. You can also use branches which act as a copy of the main branch but this allows you to work with the code without effecting the main branch which may being used to deploy to your production. But when you are ready you can submit a pull request to merge back the working branch into the main branch.

GitHub Offers a home to software projects

Over 100 million developers from around the world are using GitHub today, committing code, contributing documentation, and building new solutions to solve problems on a global level.

The key to GitHub is the repository everything starts from there. You can then version control your code, manage feedback with issues or discussions, manage work with projects and you can also edit with GitHub Codespaces / web editor and test / deploy your code with actions.

We will be publishing more to this section soon.