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. .. toctree:: :maxdepth: 3