Commit 56a5bc690d65199311009bb1e54f22379ae9ca0b
Exists in
spb-stable
and in
3 other branches
Merge branch 'mr_workflow' into 'master'
Add documentation for MR workflow
Showing
1 changed file
with
36 additions
and
0 deletions
Show diff stats
app/views/help/workflow.html.haml
| 1 | 1 | = render layout: 'help/layout' do |
| 2 | 2 | %h3.page-title Workflow |
| 3 | 3 | |
| 4 | + %h4 Summary | |
| 5 | + | |
| 4 | 6 | %ol.help |
| 5 | 7 | %li |
| 6 | 8 | %p Clone project |
| ... | ... | @@ -35,3 +37,37 @@ |
| 35 | 37 | %li |
| 36 | 38 | %p Your team lead will review code & merge it to main branch |
| 37 | 39 | |
| 40 | + %h3 Authorization for Merge Requests | |
| 41 | + %p | |
| 42 | + There are two main ways to have a merge request flow with GitLab: working with protected branches in a single repository, or working with forks of an authoritative project. | |
| 43 | + | |
| 44 | + %h4 Protected branch flow | |
| 45 | + %p | |
| 46 | + With the protected branch flow everybody works within the same GitLab project. | |
| 47 | + The project maintainers get Master access and the regular developers get Developer access. | |
| 48 | + The maintainers mark the authoritative branches as 'Protected'. | |
| 49 | + The developers push feature branches to the project and create merge requests to have their feature branches reviewed and merged into one of the protected branches. | |
| 50 | + Only users with Master access can merge changes into a protected branch. | |
| 51 | + | |
| 52 | + %h5 Advantages | |
| 53 | + %ul | |
| 54 | + %li fewer projects means less clutter | |
| 55 | + %li developers need to consider only one remote repository | |
| 56 | + | |
| 57 | + %h5 Disadvantages | |
| 58 | + %ul | |
| 59 | + %li manual setup of protected branch required for each new project | |
| 60 | + | |
| 61 | + %h4 Forking workflow | |
| 62 | + %p | |
| 63 | + With the forking workflow the maintainers get Master access and the regular developers get Reporter access to the authoritative repository, which prohibits them from pushing any changes to it. | |
| 64 | + Developers create forks of the authoritative project and push their feature branches to their own forks. | |
| 65 | + To get their changes into master they need to create a merge request across forks. | |
| 66 | + | |
| 67 | + %h5 Advantages | |
| 68 | + %ul | |
| 69 | + %li in an appropriately configured GitLab group, new projects automatically get the required access restrictions for regular developers: fewer manual steps to configure authorization for new projects | |
| 70 | + | |
| 71 | + %h5 Disadvantages | |
| 72 | + %ul | |
| 73 | + %li all developers on the project need to keep their forks up to date, which requires more advanced Git skills (managing multiple remotes) | ... | ... |