Use Issues Tickets with Branches - Jantoom/DECO3801-Team-Mono-2022 GitHub Wiki

Many different scenarios can benefit from using the Issuing feature on GitHub. One of the reasons stated in our Statement of Work was that Issues could organise our feature specifications.

This page will help you understand why different types of issues exist.

Feature Tickets

Feature tickets are used when providing the specification for a new feature. When creating a new issue, you will find the Feature template to help get you started.

Features are usually large and important enough to warrant their own branch. You should consider doing this to keep your developmental code away from everyone else's.

Task Tickets

Task tickets are used to break up the Feature tickets into smaller, more manageable chunks. A Task template also exists when creating a new issue.

Tasks should be carried out on their Feature's branch. It is also up to you whether completing a Task means a part of the feature can be merged into the main branch. It is generally better to pull working code from a completed task into main early, instead of completing the whole feature first then making a monolithic pull, which could result in annoying merge conflicts that may break your feature. Therefore, a completed Task ticket usually corresponds to a pull to main.

Bug Tickets

Bug tickets are for documenting bugs already on main that you want others to become aware of. Similarly, a template exists.

Sometimes you may be capable of fixing the bug yourself, or the bug may be trivial to explain to developers. In those cases you can choose to write a formal bug report or not.

If fixing a bug, never do it on main. Instead, pick a branch (maybe the feature branch where the bug is most relevant) and do it there.