After evaluating source code management software over the last years and testing basically every huge provider and also self-host some software, we cam to the conclusion to go back to GitHub. This document describes why we are now on GitHub and which features we use.
Below you can find some reasons why we decided to use GitHub.
- other services do provide login-with-github
- very widely used
- free for Open Source projects, including Actions, Wiki and more
- tons of useful features like issues, wiki, CI/CD, package hosting
- there are thousands of integrations in IDEs and services available
- you will have a GitHub account anyway, if you contribute to other Open Source projects
- k3os and Ansible Galaxy rely on GitHub or can use it to add features
- you can use static pages, containers and packages on GitHub
The below list provides some useful links and documentation for GitHub.
- Site: https://github.com/
- Docs: https://docs.github.com/
- Apps: https://github.com/marketplace
At while-true-do.io, we use some features directly in GitHub.
Most SCM solutions do provide a list of features, that we also use. The below list gives an overview of the project/organisation wide used features.
- emoji
- issues
- labels
- markdown parser
- package registry
- permission management
- projects
- pull requests
- reviewes
- wiki
We use a .github repository to provide default documents and issue templates for all repositories. We also have a profile document, that welcomes new users and contributors.
Issue templates are maintained in the .github repository and are available in all repositories. This makes it very easy and convenient to have proper formated issues and provide additional links and questions.
We use a template repository to provide a skeleton for new repositories. This makes it very easy to create a new repository and include some standard files.
Using GitHub is quite easy, but if you are completely new to Git/GitHub, you may need some guidance. After the registration, you can check out the below options.
For many developers, using Git means using the command line. You can use GitHub with a regular Git client.
GitHub offers Desktop and Mobile applications to manage your projects and issues. This is very convenient, since you don't need a browser and will be informed via push-notifications.
You can also manage issues, pull requests and much more in the applications.
Even if this is not an essential tool, it may be a cool helper for your workflow. GitHub CLI is piece of software that allows you to interact with GitHub on the command line. You can review issues, create releases and much more.
There are hundreds of integration options for GitHub. There are some widely accepted and used integrations in our community that are explained in the proper documents as listed below.