A normal git development workflow should be used, with some considerations:
Always develop on a feature branch.
Never commit, rebase or merge changes into the master. Your forked master branch should just be a mirror of the official one and must be pulled frequently to be up to date with latest features and bugfixes.
If you don’t follow the previous suggestions your pull request will probably be rejected.
As a recommendation, use meaningful branch names because they are going to be public.
Freedomotic follows the fork & pull process for collecting and quality-checking contributions from the development community.
This process works as follows:
You can start by forking our main git repository. This will create a Freedomotic fork named YOUR-GITHUB-USERNAME/freedomotic.git
Clone your fork locally by doing
git clone https://github.com/YOUR-GITHUB-USERNAME/freedomotic.git
On your local repository clone, create a branch with a meaningful name (e.g. new-feature-name). In case you are working to solve one of the known issues, please include the issue in the branch name (e.g. fixing-Core-413).
Again, always develop on a branch.
When your proposed modifications are complete, you can generate a pull request, e.g. asking to merge fixing-Core-413 into freedomotic/master. This can be done by publishing your new local branch online in your repository fork
git push origin BRANCHNAME
To generate a pull-request just click the Create pull request button on GitHub 6. Your pull request will be reviewed by the Freedomotic Development Team that will merge it into the main repository or ask for further revisions.
If you are clueless, the procedure described above is covered in full details with screenshots https://help.github.com/articles/using-pull-requests/#initiating-the-pull-request