Use of Git

We aim not to make long and complicated rules for using Git, but we (and apache) want to have transparency, so a few rules is needed

History

Do not rewrite history on our branches, we want to have a liniar history without manipulation

Branches

We use 2 branches constantly:

If you make changes to any API or work on a bigger feature make an "experimentXYZ" remote branch, in order for other developers to view your code before committing it to master

Use a local work branch while you develop, once you have finalized and tested the feature/bug fix, merge it with --squash to master

Workflows (examples)

Please see Git FAQ