2015-03-03 20:31:54 +00:00
|
|
|
# Code forking workflow
|
|
|
|
|
|
|
|
Forking a project to your own namespace is useful if you have no write access to the project you want to contribute
|
2015-03-04 05:44:53 +00:00
|
|
|
to. If you do have write access or can request it we recommend working together in the same repository since it is simpler.
|
|
|
|
See our **[GitLab Flow](https://about.gitlab.com/2014/09/29/gitlab-flow/)** article for more information about using
|
|
|
|
branches to work together.
|
2015-03-03 20:31:54 +00:00
|
|
|
|
|
|
|
## Creating a fork
|
|
|
|
|
|
|
|
In order to create a fork of a project, all you need to do is click on the fork button located on the top right side
|
|
|
|
of the screen, close to the project's URL and right next to the stars button.
|
|
|
|
|
2015-03-03 20:38:45 +00:00
|
|
|
![Fork button](forking/fork_button.png)
|
2015-03-03 20:31:54 +00:00
|
|
|
|
|
|
|
Once you do that you will see a screen where you can choose the namespace, to where you want to add the fork. This page
|
|
|
|
will contain the groups you have write access to. Choose one of the groups and the project will be added there.
|
|
|
|
|
2015-03-03 20:38:45 +00:00
|
|
|
![Groups view](forking/groups.png)
|
2015-03-03 20:31:54 +00:00
|
|
|
|
|
|
|
After the forking is done, you can start working on the newly created repository. There you will have full Owner access,
|
|
|
|
so you can set it up as you please.
|
|
|
|
|
|
|
|
## Merging upstream
|
|
|
|
|
|
|
|
Once you are ready to send your code back to the main project, you need to create a Merge request. Choose your forked
|
|
|
|
project's main branch as the source and the original project's main branch as the destination and create the merge request.
|
|
|
|
|
2015-03-03 20:38:45 +00:00
|
|
|
![Selecting branches](forking/branch_select.png)
|
2015-03-03 20:31:54 +00:00
|
|
|
|
|
|
|
You can then assign the Merge Request to someone so they can review your changes. After they have reviewed them, the will
|
|
|
|
be added to the main project, if maintainer chooses to do so.
|
|
|
|
|
2015-03-03 20:38:45 +00:00
|
|
|
![New merge request](forking/merge_request.png)
|
2015-03-03 20:31:54 +00:00
|
|
|
|
|
|
|
|