This repository contains a .NET MVC web application. The purpose of this application is to demonstrate the use of various GitHub features such as GitHub Flow, protected branches, CODEOWNERS, GitHub Actions, and many more.
The GitHub Flow is a lightweight, branch-based workflow that supports teams and projects where deployments are made regularly. This guide explains how and why GitHub Flow works.
- Create a branch: Topic branches created from the canonical deployment branch (usually
main
) allow work to proceed without disrupting live production states. - Add commits: Snapshots of development efforts within a branch create safe, revertible points in the project's history.
- Open a pull request: Pull requests publicize the project's ongoing efforts and set the stage for code review and other discussions.
- Discuss and review code: Team members comment on the changes to improve code quality.
- Merge: Upon review, the feature branch is merged into the canonical branch made for deployments.
Protected branches ensure that collaborators on your repository cannot make irrevocable changes to branches. These branches can be configured to require pull request reviews before merging, require status checks to pass before merging, and enforce signed commits.
The CODEOWNERS file is a file that defines individuals or teams that are responsible for code in a repository. Code owners are automatically requested for review when someone opens a pull request that modifies code that they own.
GitHub Actions help you automate your software development workflows in the same place you store code and collaborate on pull requests and issues. You can write individual tasks, called actions, and combine them to create a custom workflow.
There are many more features provided by GitHub to improve the development process. Some of these include issue tracking, feature requests, task management, and continuous integration.
For more information, please refer to the GitHub Documentation.