Project settings
(FREE)
Use the
Settings
page to manage the configuration options in your
project
.
View project settings
You must have at least the Maintainer role to view project settings.
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > General
.
To display all settings in a section, select
Expand
.
Optional. Use the search box to find a setting.
Edit project name and description
Use the project general settings to edit your project details.
Sign in to GitLab with at least the Maintainer role.
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > General
.
In the
Project name
text box, enter your project name.
In the
Project description
text box, enter your project description.
Under
Project avatar
, to change your project avatar, select
Choose file
.
Assign topics to a project
Use topics to categorize projects and find similar new projects.
To assign topics to a project:
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings
>
General
.
In the
Topics
text box, enter the project topics. Popular topics are suggested as you type.
Select
Save changes
.
If you're an instance administrator, you can administer all project topics from the
Admin Area's Topics page
.
NOTE:
The assigned topics are visible only to users with access to the project, but everyone can see which topics exist on the GitLab instance. Do not include sensitive information in the name of a topic.
Add a compliance framework to a project
(PREMIUM)
You can
add compliance frameworks to projects
in a group that has a compliance framework.
Configure project visibility, features, and permissions
To configure visibility, features, and permissions for a project:
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > General
.
Expand
Visibility, project features, permissions
.
To change the project visibility, select the dropdown list. If you select to
Public
, you limit access to some features to
Only Project Members
.
To allow users to request access to the project, select the
Users can request access
checkbox.
Use the
toggles
to enable or disable features in the project.
Select
Save changes
.
Project feature settings
Use the toggles to enable or disable features in the project.
Option
More access limit options
Description
Manage project access through LDAP groups
You can
use LDAP to manage group membership
.
You cannot use LDAP groups to manage project access, but you can use the following
workaround.
Prerequisites:
You must
integrate LDAP with GitLab
.
You must be an administrator.
Create a group
to track membership of your project.
Set up LDAP synchronization
for that group.
To use LDAP groups to manage access to a project,
add the LDAP-synchronized group as a member
to the project.
Disable CVE identifier request in issues
(FREE SAAS)
Introduced
in GitLab 13.4, only for public projects on GitLab.com.
In some environments, users can submit a
CVE identifier request
in an issue.
To disable the CVE identifier request option in issues in your project:
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > General
.
Expand
Visibility, project features, permissions
.
Under
Issues
, turn off the
CVE ID requests in the issue sidebar
toggle.
Select
Save changes
.
Disable project email notifications
Prerequisites:
You must be an Owner of the project to disable email notifications related to the project.
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > General
.
Expand
Visibility, project features, permissions
.
Clear the
Disable email notifications
checkbox.
Configure merge request settings for a project
Configure your project's merge request settings:
Set up the
merge request method
(merge commit, fast-forward merge).
Add merge request
description templates
.
Enable
merge request approvals
.
Enable
status checks
.
Enable
merge only if pipeline succeeds
.
Enable
merge only when all threads are resolved
.
Enable
require an associated issue from Jira
.
Enable
Delete source branch when merge request is accepted
option by default
.
Configure
suggested changes commit messages
.
Configure
merge and squash commit message templates
.
Configure
the default target project
for merge requests coming from forks.
Enable
Suggested Reviewers
.
Service Desk
Enable
Service Desk
for your project to offer customer support.
Export project
Learn how to
export a project
in GitLab.
Advanced project settings
Use the advanced settings to archive, rename, transfer,
remove a fork relationship
, or delete a project.
Archive a project
When you archive a project, the repository, packages, issues, merge requests, and all
other features are read-only. Archived projects are also hidden from project listings.
To archive a project:
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > General
.
Expand
Advanced
.
In the
Archive project
section, select
Archive project
.
To confirm, select
OK
.
Unarchive a project
When you unarchive a project, you remove the read-only restriction and make it
available in project lists.
Prerequisites:
To unarchive a project, you must be an administrator or a project Owner.
Find the archived project.
On the left sidebar, expand the top-most chevron (
{chevron-down}
).
Select
View all your projects
.
Select
Explore projects
.
In the
Sort projects
dropdown list, select
Show archived projects
.
In the
Filter by name
field, enter the project name.
Select the project link.
On the left sidebar, select
Settings > General
.
Under
Advanced
, select
Expand
.
In the
Unarchive project
section, select
Unarchive project
.
To confirm, select
OK
.
Rename a repository
A project's repository name defines its URL and its place on the file disk
where GitLab is installed.
Prerequisites:
You must be a project maintainer, owner, or administrator to rename a repository.
NOTE:
When you change the repository path, users may experience issues if they push to, or pull from, the old URL. For more information, see
redirects when renaming repositories
.
To rename a repository:
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > General
.
Expand
Advanced
.
In the
Change path
text box, edit the path.
Select
Change path
.
Delete the source branch on merge by default
In merge requests, you can change the default behavior so that the
Delete the source branch
checkbox is always selected.
To set this default:
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > Merge requests
.
Select
Enable "Delete source branch" option by default
.
Select
Save changes
.
Transfer a project to another namespace
When you transfer a project to another namespace, you move the project to a different group.
Prerequisites:
You must have at least the Maintainer role for the
group
to which you are transferring.
You must be the Owner of the project you transfer.
The group must allow creation of new projects.
The project must not contain any
container images
.
Remove any npm packages. If you transfer a project to a different root namespace, the project must not contain any npm packages. When you update the path of a user or group, or transfer a subgroup or project, you must remove any npm packages first. You cannot update the root namespace of a project with npm packages. Make sure you update your .npmrc files to follow the naming convention and run npm publish if necessary.
If a security policy is assigned to the project, it is automatically unassigned during the transfer.
To transfer a project:
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > General
.
Expand
Advanced
.
Under
Transfer project
, choose the namespace to transfer the project to.
Select
Transfer project
.
Enter the project's name and select
Confirm
.
You are redirected to the project's new page and GitLab applies a redirect. For more information about repository redirects, see
What happens when a repository path changes
.
NOTE:
If you are an administrator, you can also use the
administration interface
to move any project to any namespace.
Transferring a GitLab SaaS project to a different subscription tier
When you transfer a project from a namespace licensed for GitLab SaaS Premium or Ultimate to GitLab Free, the following paid feature data is deleted:
Project access tokens
are revoked
Pipeline subscriptions
and
test cases
are deleted.
Delete a project
Default deletion behavior for projects changed to
delayed project deletion
in GitLab 12.6.
Default deletion behavior for projects changed to
immediate deletion
in GitLab 13.2.
Default deletion behavior for projects on the Premium and Ultimate tier changed to
delayed project deletion
in GitLab 16.0.
Default deletion behavior changed to delayed deletion on the Premium and Ultimate tier
on GitLab.com
and
on self-managed
in GitLab 16.0.
You can mark a project to be deleted.
Prerequisite:
You must have the Owner role for a project.
To delete a project:
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > General
.
Expand
Advanced
.
In the
Delete this project
section, select
Delete project
.
On the confirmation dialog, enter the project name and select
Yes, delete project
.
This action deletes the project and all associated resources (such as issues and merge requests).
Delayed project deletion
(PREMIUM)
Enabled for projects in personal namespaces
in GitLab 15.1.
Disabled for projects in personal namespaces
in GitLab 15.3.
Enabled delayed deletion by default and removed the option to delete immediately
on GitLab.com
and
on self-managed
in GitLab 16.0.
Projects in a group (not a personal namespace) can be deleted after a delay period.
On self-managed instances, group administrators can define a deletion delay period of between 1 and 90 days.
On SaaS, there is a non-adjustable default retention period of seven days.
Delete a project immediately
Introduced
in GitLab 14.1.
Option to delete projects immediately from the Admin Area and as a group setting removed
on GitLab.com
and
on self-managed
in GitLab 16.0.
If you don't want to wait for delayed deletion, you can delete a project immediately. To do this, perform the steps for
deleting a projects
again.
In the first cycle of deleting a project, the project is moved to the delayed deletion queue and automatically deleted after the retention period has passed.
If during this delayed deletion time you run a second deletion cycle, the project is deleted immediately.
Prerequisites:
You must have the Owner role for a project.
You have
marked the project for deletion
.
To immediately delete a project marked for deletion:
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > General
.
Expand
Advanced
.
In the
Delete this project
section, select
Delete project
.
On the confirmation dialog, enter the project name and select
Yes, delete project
.
Restore a project
(PREMIUM)
Introduced
in GitLab 12.6.
To restore a project marked for deletion:
On the left sidebar, at the top, select
Search GitLab
(
{search}
) to find your project.
Select
Settings > General
.
Expand
Advanced
.
In the Restore project section, select
Restore project
.
Monitor settings
Alerts
Configure
alert integrations
to triage and manage critical problems in your application as
alerts
.
Incidents
Alert integration
Automatically
create
,
notify on
, and
resolve
incidents based on GitLab alerts.
Create incidents in GitLab for each PagerDuty incident
.
Incident settings
Manage Service Level Agreements for incidents
with an SLA countdown timer.
Error Tracking
Configure Error Tracking to discover and view
Sentry errors within GitLab
.
Status Page
(ULTIMATE)
Add Storage credentials
to enable the syncing of public Issues to a
deployed status page
.
Troubleshooting
When working with project settings, you might encounter the following issues, or require alternate methods to complete specific tasks.
Transfer a project through console
If transferring a project through the UI or API is not working, you can attempt the transfer in a
Rails console session
.
p = Project.find_by_full_path('<project_path>')
# To set the owner of the project
current_user = p.creator
# Namespace where you want this to be moved
namespace = Namespace.find_by_full_path("<new_namespace>")
Projects::TransferService.new(p, current_user).execute(namespace)