GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.
Here is a series of rules on how to get the most out of GitHub.
Learn more about Scrum with GitHub.
Everybody strives to be perfect, but mistakes are normal, and it is easy for a developer to skim over errors when they've read their own code code hundreds of times!
Pull requests are the best way to ensure that two sets of eyes see every change - so the responsibility is never solely on the person writing the code.
Consistent naming is important so that users of your GitHub account can easily find what they are looking for and so that you appear professional.
Adding a description to your repositories is essential, so they do not appear blank in the preview on your GitHub profile.

It is important when working in multiple projects to ensure consistent practices.
Structuring your repositories consistently makes your project feel professional, and makes it easier to work with as it is predictable.
It is important that you, especially a developer, knows how to use labels for GitHub issues when using an open source project on GitHub, as it would help compact issues and make the issue management workflow more efficient. Essentially, having such a predictable workflow will let the community feel professional.
If you accidentally include confidential information in a GitHub Issue - whether it’s a password, API key, or private business details - the obvious thing to do is edit the issue and delete the sensitive content.
But that’s not enough.
GitHub retains a full revision history for issues and comments. This means others can still view older versions and recover the compromised data.
GitHub Issues offer a great way of raising Issues within projects. However, it can be difficult to distinguish whether the Issue is a bug, feature request or just a question. GitHub Issue Templates should be used to help standardize Issues and ensure they have enough information for a developer to start work.
The templates also make it easy for people to write good quality issues, increasing the chance of getting good feedback and suggestions from users.
Let's take a look at how implementing Issue Templates can improve repository backlogs...
Some websites use GitHub to manage their content (e.g. SSW Rules). GitHub makes reviewing changes easy through "Pull Requests".
A Pull Request is a request to make changes to 1 or more files. GitHub provides out of the box functionality for reviewing changes in a pull request. This process is as follows:
As a software developer, you are going to create Pull Requests (PRs) that you want to be easy for others to review and approve. The quality of a Pull Request can vary - from cryptic to well-written.
Including a little bit of context helps your reviewer understand changes quickly so they can review your PR faster and give better suggestions.
There are 2 essential things you should have when writing a Pull Request:
- Do you enable pull requests to ensure code is reviewed?
- Do you know how to name a GitHub Repository?
- Do you add a description to your GitHub repositories?
- Do you know how to structure a project for GitHub?
- Do you know how to use labels for GitHub Issues?
- Do you know how to completely remove confidential information from a GitHub Issue?
- GitHub Issues - Do you use Issue Templates?
- Do you know how to make content changes on GitHub?
- Do you know how to write a great Pull Request (PR)?
- Pull Requests - Do you use and indicate Draft Pull Requests?
- Do you know when to branch in git?
- Do your branches have a naming convention?
- Do you have a "rubber stamp" approval method for PRs?
- Do you know when to add your changes to an existing PR?
- Do you use indentation for readability?
- Do you know to the requirements to create a new repository?
- GitHub Repos - Do you write nice commit messages?
- GitHub Issues - Do you turn emails into Issues before starting work?
- Do you require 2FA to join your GitHub organisation?
- Do you restrict repository deletion?
- Do you use branch protection?
- Do you know when to override branch protection rules?
- Do you use GitHub Discussions?
- Do you use GitHub Topics?
- Do you know why reacting and voting on GitHub matters?
- Do you review PBIs and react with 👍?
- GitHub - Do you use GitHub teams for collaborator permissions?
- Do you have GitHub on your phone?
- Do you know how to view a project’s activity, traffic and contributions?
- Do you limit who gets admin access to repositories?
- Do you set default permissions for all new repositories?
- Do you know how to setup GitHub notifications?
- Do you know to set up GitHub Scrum workflow?
- Do you configure your GitHub Notifications?
- GitHub Actions - Do you know why Job Summaries are awesome?
- Do you know how to handle special characters in GitHub Secrets and Variables?
- Do you store your GitHub secrets in Azure KeyVault?
- Pull Request - Do you do over the shoulder reviews?
- GitHub Environments - Do you use gated deployments?
- Do you use tasklists in your PBIs?
- Do you know how to handle duplicate PBIs in your backlog?
- Do you close PBIs and tasks with context?
- Do you avoid linking issues to PRs in GitHub?
- Do you use enterprise secrets in your DevOps pipelines?
- Do you use Pull Request templates to specify the expectations and requirements for each PR?
- Do you merge open source pull requests using the "Squash and merge" option?
- Do you to keep a PBI's current status visible?
- Do you use Co-Authored Commits?
- Do you know the best license for your project?
- Do you know the best way to suggest changes on a Pull Request?
- Do you know how to view changes made to a file in GitHub?