-
Notifications
You must be signed in to change notification settings - Fork 4
Contributions
Contributions to elastic are warmly welcomed, but developers should familiarize themselves with the policy of the code before starting development. Specifically, membership of the developers team which allows commits to the elasticity master branch is restricted to people who have agreed to the policy, and all commits to master should follow the guidelines of the project development.
The following development policy applies for commits to master branch: *large developments should be preceded by an informal discussion with the main developers. *smaller feature additions do not require such discussion, if they will not affect other developer's work. *development should only take place on branches.
Remember: always do everything in your own branch.
- Master is the main development branch that should always compile and pass all tests successfully. It is considered to be stable.
Create a new branch from master:
git checkout master # user is now on the branch 'master'
git checkout -b user/fix-matrix # Create a new branch from master and add user on it
Users are advised to name their new branch according to the following structure:
<logname>/(feature|fix)-component
Try fixing one bug at the time before committing single changes, which is quite easy with Git. Please make detailed (informative) comments about your modifications. When your feature/fix is ready for review and possible integration, run
git push --set-upstream origin <logname>/(feature|fix)-component
If another contributor is changing the branch while you are changing files, conflicts may result. Git allows to resolve them easily, for instance using SourceTree or GitHub. You can pull down the modifications (other than yours) and reapply yours later.
Once you have checked in all your modifications locally, made sure that all tests pass, push it up in your branch:
git push
and commit all changes in the main branch
git checkout master # Now I am on branch 'master'
git pull
git merge --no-ff logname/fix-matrix # merge your work, potential conflicts will be resolved
git commit -a -m "informative comments" # remember, make informative comments about your changes
git push