The Groups page displays all groups you are a member of, how many projects it holds,
how many members it has, the group visibility, and, if you have enough permissions,
a link to the group settings. By clicking the last button you can leave that group.

Use cases

You can create groups for numerous reasons. To name a few:

Organize related projects under the same namespace, add members to that
group and grant access to all their projects at once

Create a group, include members of your team, and make it easier to
@mention all the team at once in issues and merge requests

Create a group for your company members, and create subgroups
for each individual team. Let's say you create a group called company-team, and among others,
you created subgroups in this group for each individual team backend-team,
frontend-team, and production-team:

When you start a new implementation from an issue, you add a comment:
"@company-team, let's do it! @company-team/backend-team you're good to go!"

When your backend team needs help from frontend, they add a comment:
"@company-team/frontend-team could you help us here please?"

When the frontend team completes their implementation, they comment:
"@company-team/backend-team, it's done! Let's ship it @company-team/production-team!"

Namespaces

In GitLab, a namespace is a unique name to be used as a user name, a group name, or a subgroup name.

http://gitlab.example.com/username

http://gitlab.example.com/groupname

http://gitlab.example.com/groupname/subgroup_name

For example, consider a user named Alex:

Alex creates an account on GitLab.com with the username alex;
their profile will be accessed under https://gitlab.example.com/alex

Alex creates a group for their team with the groupname alex-team;
the group and its projects will be accessed under https://gitlab.example.com/alex-team

Alex creates a subgroup of alex-team with the subgroup name marketing;
this subgroup and its projects will be accessed under https://gitlab.example.com/alex-team/marketing

By doing so:

Any team member mentions Alex with @alex

Alex mentions everyone from their team with @alex-team

Alex mentions only the marketing team with @alex-team/marketing

Issues and merge requests within a group

Issues and merge requests are part of projects. For a given group, view all the
issues and merge requests across all the projects in that group,
together in a single list view.

Create a new group

Notes:

For a list of words that are not allowed to be used as group names see the
reserved names.

You can create a group in GitLab from:

The Groups page: expand the left menu, click Groups, and click the green button New group:

Elsewhere: expand the plus sign button on the top navbar and choose New group:

Add the following information:

Set the Group path which will be the namespace under which your projects
will be hosted (path can contain only letters, digits, underscores, dashes
and dots; it cannot start with dashes or end in dot).

The Group name will populate with the path. Optionally, you can change
it. This is the name that will display in the group views.

Optionally, you can add a description so that others can briefly understand
what this group is about.

Changing a group's path

If you are vacating the path so it can be claimed by another group or user,
you may need to rename the group name as well since both names and paths must
be unique.

To change your group path:

Navigate to your group's Settings > General.

Enter a new name under "Group path".

Hit Save group.

CAUTION: Caution:
It is currently not possible to rename a namespace if it contains a
project with Container Registry tags,
because the project cannot be moved.

TIP: TIP:
If you want to retain ownership over the original namespace and
protect the URL redirects, then instead of changing a group's path or renaming a
username, you can create a new group and transfer projects to it.

Share with group lock

For example, consider you have two distinct teams (Group A and Group B)
working together in a project.
To inherit the group membership, you share the project between the
two groups A and B. Share with group lock prevents any project within
the group from being shared with another group. By doing so, you
guarantee only the right group members have access to that projects.

To enable this feature, navigate to the group settings page. Select
Share with group lock and Save the group.

Member Lock [STARTER]

With Member Lock it is possible to lock membership in project to the
level of members in group.