No branches, just fork it!

No branches, just fork it!
Photo by Keila Hötzel / Unsplash

Okay okay, you're right we still use branches, but just not on the master main repository. Every developer has their own forked project, which lives under the "forks" group. For example if we had a git project at gitlab.com/rocketrunner/rocketrunner we would then create forks like gitlab.com/rocketrunner/forks/larsblumberg with "larsblumberg" being my fork of the "rocketrunner" project. We use everyone's GitLab username as the forkname.

Motivation

Following the open-source model of contributing code to a project. Fork it and then create a merge request. Keep your own house – your fork – as tidy or dirty as you prefer. No more alien branches from your colleagues on the main repository with no one remembering which branches are still needed. So that we can run with only two branches on the main repository – dev and prod.

Fork ownership

It's the GitLab group owner who usually creates the fork. So that when a colleague leaves the team or the company we don't need to run after them to delete to their online copies of the source code. We simply grant the necessary right to everyone's fork, by giving the "maintainer" role in GitLab to the fork's main contributor.

Creating merge requests against merge requests

TBD