Brief description of the workflow

  • Starting point: You want to start a new project or work on a project that is led by another developer.

  • Either start the project in your own fork if you are the lead developer of the project, or ask for write access to the lead developer’s fork.

  • Clone the fork you want to work on.

  • Create a new branch for your code development.

    • Adhere to the naming convention [username]/[branch name] so that the owners of branches can easily be identified (especially if you work in someone else’s fork).

  • Work on the code and try to commit in small increments.

  • When you are ready to merge your new code:

    • Make sure that master in the fork you are working on has been synchronized with master in the parent repo (see Feature branch workflow inside a fork)

    • Update master in your working copy

    • Merge master into your branch and resolve any conflicts

    • Open pull request from your branch to the master branch in the XGC parent repository.

  • After your pull request in the fork has been merged, the fork owner has to update the “master” branch in the fork from the parent repository.

  • Delete your branch when you are done with the project for which the branch was created.