Forking and merging projects¶
Forking a project copies all of its files into a new, separate project, allowing for independent development and experimentation. Changes in the forked project can later be reviewed and merged back into the original project.
To fork a project, open the project overview and click Fork. Enter a name for the fork when prompted. You must be the project owner, or have access to the project as a contributor or results consumer in order to fork it. You can learn more about project roles and access control here.
Copied to the newly forked project:
- All files
- Revision history of all files
- Environment variables
These things are not copied to the newly forked project:
- Run history
- Project settings, including collaborators and compute environment
- Discussion history
Projects that have been forked, or were created by forking another project, will link to related forks on the project overview page.
Once you’ve made some changes to the new fork, you can initiate a merge by clicking Request Review on the project overview page. You must be the project owner, or have access to the project as a contributor in order to request a merge review.
You will be prompted to submit a review request, in which you can review the changes and describe their effects with a message. Once submitted, contributors to the main-line project are notified. The merge will occur when a contributor accepts the review, and a new revision of the main-line project will be written with the forked changes merged in.
To view a history of Review Requests, including the status of current requests, select Reviews from the left-hand menu.