-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
For those contributing to the website for whatever reason.
For the most part, the following rules apply:
- New features require new branches
- Never push directly to production
- Test all features in master
The master branch is the production branch for the project. Any PRs into it require review and only the webmaster can push directly to master.
Each new feature that you make should be on its own descriptive branch. Whether or not changes have already been made, get this branch with the following:
git checkout master
git pull
git checkout -b my-branch-name
Then, make changes on this page with as many commits. To push the branch, use git push --set-upstream origin my-branch-name
. This command is shown if you just run git push
as well.
Be sure to go into the projects tab, assign the ticket to yourself, and move it to in progress
When development is done (or you want help/review), switch to your branch and submit a pull request in Github using the new pull request button next to the branch dropdown. This pull request should have master as the base and your branch as the compare. Note that you need review from the webmaster before merging.
The pull request should be named as follows:
For example: [Closes #28] Update project ordering
The terminology is important; using the closes keyword will actually close the issue for you, so you don't need to move it to done!
You can make another branch your base branch, not master, but that is not ideal. This makes that branch your dependency, so if that branch gets changes that you did not account for, it can make nastier code conflicts.
If all goes well, your pull request will be accepted by the webmaster. Once this happens, first rebase your branch with master to make sure it works fine by using the following commands:
git checkout master
git pull
git checkout my-feature-branch
git rebase -i master
# Settle merge conflicts
git push -f # This force pushes, since commits were (probably) changed
Make absolutely certain that the website still works after this locally!!
Once this is done, merge the pull request with master. The changes should be deployed to the site automatically within 5 minutes, if not, contact the webmaster.