When making changes, please first either find the corresponding Github issue or create it if it does not exist. When creating an issue, add appropriate labels to it.
DO NOT COMMIT TO MASTER, please branch and PR any changes to master. This gives an opportunity for others to both code review your work and also see changes going into master, as opposed to new code simply appearing.
As you now have a Github issue tied to your changes, name your branch after your Github issue number, and optionally a few words after that describe the issue.
I make an issue to fix a bug with the "write" button. My issue shows up as #14, so I will create a branch titled
14/fix-write-button
Be sure to prefix every commit with your issue number. For example, [14] Lint race condition fix
This section is a lot more optional, but in general please follow general commit message practices. Common guidelines outlined here: https://chris.beams.io/posts/git-commit/ In summary,
- Separate subject from body with a blank line (if you have a body, which is optional)
- Limit the subject line to 50 characters
- Capitalize the subject line
- Do not end the subject line with a period
- Use the imperative mood in the subject line
- Wrap the body at 72 characters
- Use the body to explain what and why vs. how
You may open a PR at any time once the first commit has been made. If the PR is not yet ready for review or merge, simply add the "WIP" (Work In Progress) label to it. Putting it up early allows other developers to see what you are working on and how far along it is, as well as allowing for architectural or design errors to be caught early on.
- Give it a meaningful description that helps another developer understand what you have changed and why. It will typically be similar to the issue title, or a bit more descriptive.
- Add any appropriate labels
- Assign a reviewer and set the assignee to yourself
- Run
go fmt
if you worked on any Go code. - Ensure there are no linting errors for any Javascript code.
- Ensure your code compiles and runs as expected!
- Sync your branch with master. This can be done with:
git checkout master
git pull
git checkout -
git merge master
- Now create the PR and add the "Ready for Review" label!
Continuing on our example from before, our PR could be named
[14] Fix async race condition with the write button