- Use github extensively.
- Make an issue for every feature/change/bug you can think of.
- If you are doing something, there should always be a corresponding issue for it.
- Possibly also use issue labels to indicate importance, bugs, etc.
- If you start working on an issue, assign yourself to it.
- Make a new branch for whatever you're working on.
- Never do any work on the master branch.
- When finished, create a pull request to the master branch.
- If you reference the issue/s with "fixes" or "resolves" the issue/s will automatically close. For example
resolves #4
orfixes #2
(Actually here is a full doc of this feature)
- Another person (or possibly multiple people) takes a look at it. If they deem the PR acceptable, they will pull the branch into master branch and then delete the branch (and close the corresponding issue if it's not done automatically).
- Rinse and repeat.