Skip to end of metadata
Go to start of metadata

Getting started with Git

Important: We are now fully migrated to a native git server solution. All procedures around using git is therefore slightly different, since there is no longer subversion synchronization process. To clone the new git repository, you can use

To work on a branch in git


Normal git commit methodology applies: You can develop in your local repo, push up etc. We highly recommend that everyone tries to push commits such that the tree is in a buildable state after each commit. Having the tree buildable throughout all commits in the tree helps with running git bisect. For example, if you have a number of commits in a local repo, and are unsure which one of those commits actually build, you should consider squashing (git rebase -i) these commits into one or a few commits.

Before pushing upstream, you should also make it a habit to pull or fetch from the upstream remote before pushing.

Commit messages should follow the standard formatting described on the CommitPolicies page.


When some commits in master branch are needed to be back-ported, cherry-pick and send Pull-Request.

  1. Make sure the commits are already on master
  2. Cherry-Pick with "-x"

  3. Uncomment the conflics in commit message if there
  4. Send a Pull-Request
  5. Add "Backport" label


More details

More details for using Git and Subversion (particularly here at the ASF), see the following links:

Some older docs available at

  • No labels