Merge branch 'forking-doc' into 'master'

Documentation on how to fork a project

Added documentation on how to fork a project.

/cc @sabba

See merge request !1623
This commit is contained in:
Sytse Sijbrandij 2015-04-08 00:34:32 +00:00
commit 4b2aa9cd20
6 changed files with 37 additions and 0 deletions

View file

@ -1,6 +1,7 @@
# Workflow
- [Feature branch workflow](workflow.md)
- [Code forking workflow](forking_workflow.md)
- [Project Features](project_features.md)
- [Authorization for merge requests](authorization_for_merge_requests.md)
- [Groups](groups.md)

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View file

@ -0,0 +1,36 @@
# 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
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.
## 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.
![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
(groups and your own namespace) where you have write access to, will be shown. Click on the namespace to create your
fork there.
![Groups view](forking/groups.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
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.
![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'
button, your changes will be added to the repository and branch you're merging into.
![New merge request](forking/merge_request.png)