Thank you for contributing to BloomingLeaf. Your contribution helps to make this a fantastic tool. This is a living document. If there is an issue or something requires clarification, please create a change request as discussed below.
Anyone with a gitHub account can contribute a bug/feature request to our project by entering it in our issues page.
The following explains how to contribute to BloomingLeaf.
Start up setting up the project locally, see setup guide
and follow the directions for a local Node server.
Before working on an update, make sure there is an appropriate entry on the issues page and assign yourself to this issue.
Generally, we follow this diagram for our workflow model, but we exclusively use pull requests to commit to both develop and master.
The following excerpts are adapted from Vincent Driessen, and we want to give full credit for their contribution.
The central repo holds two main branches with an infinite lifetime: master and develop.
We consider origin/master to be the main branch where the source code of HEAD always reflects a production-ready state.
We consider origin/develop to be the main branch where the source code of HEAD always reflects a state with the latest delivered development changes for the next release. Some would call this the “integration branch”.
All new contributions should be submitted to the develop branch via a pull request from a feature branch.
Feature branches (or sometimes called topic branches) are used to develop new features for the upcoming or a distant future release. When starting development of a feature, the target release in which this feature will be incorporated may well be unknown at that point. The essence of a feature branch is that it exists as long as the feature is in development, but will eventually be merged back into develop (to definitely add the new feature to the upcoming release) or discarded (in case of a disappointing experiment).
May branch off from: develop
Must merge back into via a pull request: develop
Branch naming convention: anything except master, develop, release-, or hotfix-
Again before working on an update, make sure their is an appropriate entry on the issues page and assign yourself to this issue.
When starting work on a new feature, branch off from the develop branch and give your feature branch a descriptive name.
git checkout develop (To make sure you have develop locally.)
git checkout -b feature-myfeature develop
Check the status of your changes.
git status
git commit -am “your commit message”
git add <file name>
git commit -m "your commit message"
git push origin HEAD
Go to the BloomingLeaf gitHub website and create a new pull request for your feature.
base: develop
compare: feature-myfeature
Include links to the issue you were working on.
Note: After you have created a pull request you should not continue committing to your feature branch, because if you perform another push to origin (git push origin HEAD) on your feature branch then the new commits will be added to the previous pull request.
After pull requests are approved you will need to update your local copy of develop.
git checkout develop
git pull origin develop
You may also need to merge it into other ongoing feature branches.
git checkout feature-otherWork
git merge --no-ff develop
After your pull request has been approved you can delete your local copy of feature-myfeature. Project admins will delete the origin version of feature-myfeature upon approving the corresponding pull request.
git branch -d feature-myfeature
Thanks again for your contributions to BloomingLeaf.
We also recommend reviewing our Backbone.js Training and our JavaScript Best Practices, and What Not To Do.