Commit a93f7099 authored by Achilleas Pipinellis's avatar Achilleas Pipinellis

Merge branch 'doc_forking_refactor' into 'master'

Refactor forking workflow documentation

Closes #5974 

See merge request !2623
parents 5e0ee54c b6662c2a
# Project forking workflow # Project forking workflow
Forking a project to your own namespace is useful if you have no write access to the project you want to contribute Forking a project to your own namespace is useful if you have no write
to. If you do have write access or can request it we recommend working together in the same repository since it is simpler. access to the project you want to contribute to. If you do have write
See our **[GitLab Flow](https://about.gitlab.com/2014/09/29/gitlab-flow/)** article for more information about using access or can request it, we recommend working together in the same
branches to work together. repository since it is simpler. See our [GitLab Flow](gitlab_flow.md)
document more information about using branches to work together.
## Creating a fork ## 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 Forking a project is in most cases a two-step process.
of the screen, close to the project's URL and right next to the stars button.
![Fork button](forking/fork_button.png)
Once you do that you'll be presented with a screen where you can choose the namespace to fork to. Only namespaces 1. Click on the fork button located in the middle of the page or a project's
(groups and your own namespace) where you have write access to, will be shown. Click on the namespace to create your home page right next to the stars button.
fork there.
![Groups view](forking/groups.png) ![Fork button](img/forking_workflow_fork_button.png)
After the forking is done, you can start working on the newly created repository. There you will have full ---
[Owner](../permissions/permissions.md) access, so you can set it up as you please.
1. Once you do that, you'll be presented with a screen where you can choose
the namespace to fork to. Only namespaces (groups and your own
namespace) where you have write access to, will be shown. Click on the
namespace to create your fork there.
![Choose namespace](img/forking_workflow_choose_namespace.png)
---
**Note:**
If the namespace you chose to fork the project to has another project with
the same path name, you will be presented with a warning that the forking
could not be completed. Try to resolve the error and repeat the forking
process.
![Path taken error](img/forking_workflow_path_taken_error.png)
---
After the forking is done, you can start working on the newly created
repository. There, you will have full [Owner](../permissions/permissions.md)
access, so you can set it up as you please.
## Merging upstream ## 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 Once you are ready to send your code back to the main project, you need
project's main branch as the source and the original project's main branch as the destination and create the merge request. 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](merge_requests.md).
![Selecting branches](forking/branch_select.png) ![Selecting branches](forking/branch_select.png)
You can then assign the merge request to someone to have them review your changes. Upon pressing the 'Accept Merge Request' You can then assign the merge request to someone to have them review
button, your changes will be added to the repository and branch you're merging into. your changes. Upon pressing the 'Accept Merge Request' button, your
changes will be added to the repository and branch you're merging into.
![New merge request](forking/merge_request.png) ![New merge request](forking/merge_request.png)
[gitlab flow]: https://about.gitlab.com/2014/09/29/gitlab-flow/ "GitLab Flow blog post"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment