All features/bug_fixes/documentation_changes start from creating a new issue. Use github's built issue manager to create a new issue.
Make sure you provide a detailed description of the task. Also don't forget to attach the accompanying milestone and project to the issue.
Tasks can be assigned by group leaders. If you want to claim a task, you must assign yourself(usually on a first come first serve basis).
There is a basic 4 step process to working on any task.
${ISSUE_TYPE}_${ISSUE_NUMBER}_${ISSUE_NAME}
- Where ISSUE_TYPE is an enum(feature, bug_fix, hot_fix, doc_change)
- And ISSUE_NUMBER and ISSUE_NAME correspond to the issue post on github.
Checkout that branch locally
git checkout branch_name
4. After your code has been peer-reviewed and approved, rebase your commits against the development branch(origin/develop) and you will be merged in.
git rebase -i origin/develop
- Did I create/reference someone's issue
- Did I claim the task(either through self-assignment or delegation)
- Did I create a new branch referencing the issue
- Did I satisfy all the requirements of the issue
- Did I create a new pull request referencing the issue
- Did I complete the peer-reviewed changes/suggestions
- Did I rebase against the development branch