Skip to content

Instantly share code, notes, and snippets.

@icorbrey
Created June 25, 2021 17:52
Show Gist options
  • Save icorbrey/57d4d15d273fc1ae1a3796d2ea88a3af to your computer and use it in GitHub Desktop.
Save icorbrey/57d4d15d273fc1ae1a3796d2ea88a3af to your computer and use it in GitHub Desktop.
Git Repo Setup

Setting Up a New GitHub Repo

Branches

Branch Purpose
master Holds the latest development progress.
stable Holds the latest stable release.
enhancement/* Contains WIP enhancements.
hotfix/* Contains hotfixes for bugs.
maintenance/* Contains WIP maintenance jobs.

Branch Protection Rules

master and stable

  • Require status checks to pass before merging.
    • Require branches to be up to date before merging.
  • Require conversation resolution before merging.
  • Require linear history.

enhancement/*, hotfix/*, and maintenance/*

  • Require status checks to pass before merging.
    • Require branches to be up to date before merging.
  • Allow force pushes.
  • Allow deletions.

Labels

Label Color
Priority: Critical #ff0000
Priority: High #ff8800
Priority: Medium #ffff00
Priority: Low #00ff00
Status: Pending #000088
Status: Accepted #0000ff
Status: Denied #ff0000
Status: In Progress #888888
Status: Blocked #ff0000
Status: Abandoned #000000
Status: Completed #00ff00
Type: Maintenance #8800ff
Type: Enhancement #0088ff
Type: Hotfix #ffff00
Type: Bug #00ff00

Issue Forms

Report a Bug

# .github/ISSUE_TEMPLATE/bug_report.yaml

name: Report a Bug
description: This includes crashes and loss of functionality.
title: "[Briefly describe what happened]"
labels: ["Type: Bug", "Status: Pending"]
assignees:
  - icorbrey
  
# Create the body of the form

Suggest an Enhancement

# .github/ISSUE_TEMPLATE/suggestion.yaml

name: Suggest an Enhancement
description: This includes new features and functionality
title: "[Briefly describe what you want to add]"
labels: ["Type: Enhancement", "Status: Pending"]
assignees:
  - icorbrey
  
# Create the body of the form

Track Maintenance

# .github/ISSUE_TEMPLATE/suggestion.yaml

name: Track Maintenance
description: This includes dependency and pipeline updates
title: "[Briefly describe the maintenance being tracked]"
labels: ["Type: Maintenance", "Status: Pending"]
assignees:
  - icorbrey
  
# Create the body of the form

License

Choose a license and put it at LICENSE.md

Readme

# <project name>

<describe the project>

## Installation

<how to install the project, if applicable>

## Usage

<how to use the project>

## Contributing

<how to contribute to the project>

## Credits

<list collaborators and team members, if applicable>

## License

Copywrite © <year> <author>
This project is [<license>](LICENSE.md) licensed.

Sponsors

# .github/FUNDING.yaml

github: <sponsor-enabled username>
ko_fi: <kofi username>

Discussions

Enable discussions in the menu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment