- View project settings
- Edit project name and description
- Assign topics to a project
- Rename a repository
- Configure project features and permissions
- Configure merge request settings for a project
- Export project
- Transfer a project to another namespace
- Archive a project
- Unarchive a project
- Delete a project
- Restore a project
- Disable project analytics
- Disable CVE identifier request in issues
- Disable project email notifications
- Related topics
- Troubleshooting
Project settings
Use the Settings page to manage the configuration options in your project.
View project settings
Prerequisite:
- You must have at least the Maintainer role for the project.
- On the left sidebar, select Search or go to and 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.
Prerequisite:
- You must have at least the Maintainer role for the project.
- On the left sidebar, select Search or go to and 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, select Search or go to and 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.
Rename a repository
A project’s repository name defines its URL and its place on the file disk where GitLab is installed.
Prerequisite:
- You must be an administrator or have the Maintainer or Owner role for the project.
To rename a repository:
- On the left sidebar, select Search or go to and find your project.
- Select Settings > General.
- Expand Advanced.
- In the Change path text box, edit the path.
- Select Change path.
Configure project features and permissions
To configure features and permissions for a project:
- On the left sidebar, select Search or go to and find your project.
- Select Settings > General.
- Expand Visibility, project features, permissions.
- To allow users to request access to the project, select the Users can request access checkbox.
- To enable or disable features in the project, use the feature toggles.
- Select Save changes.
When you disable a feature, the following additional features are also disabled:
-
If you disable the Issues feature, project users cannot use:
- Issue Boards
- Service Desk
- Project users can still access Milestones from merge requests.
-
If you disable Issues and Merge Requests, project users cannot use:
- Labels
- Milestones
-
If you disable Repository, project users cannot access:
- Merge requests
- CI/CD
- Container Registry
- Git Large File Storage
- Packages
-
The metrics dashboard requires read access to project environments and deployments. Users with access to the metrics dashboard can also access environments and deployments.
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:
- Configure:
- Suggested changes commit messages.
- Merge and squash commit message templates.
- Default target project for merge requests coming from forks.
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, select Search or go to and find your project.
- Select Settings > Merge requests.
- Select Enable “Delete source branch” option by default.
- Select Save changes.
Export project
You can export a project and its data.
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 you are transferring to.
- 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.
- The project must not have a security policy. If a security policy is assigned to the project, it is automatically unassigned during the transfer.
-
If the root namespace changes, you must remove npm packages that follow the naming convention from the project. After you transfer the project you can either:
- Update the package scope with the new root namespace path, and publish it again to the project.
- Republish the package to the project without updating the root namespace path, which causes the package to no longer follow the naming convention. If you republish the package without updating the root namespace path, it will not be available at the instance level endpoint.
To transfer a project:
- On the left sidebar, select Search or go to and 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.
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:
- Project access tokens are revoked.
- Pipeline subscriptions and test cases are deleted.
Archive a project
When you archive a project, the repository, packages, issues, merge requests, and all other features become read-only. Archived projects are also hidden from project lists.
To archive a project:
- On the left sidebar, select Search or go to and 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, the read-only restriction is removed, and the project becomes available in project lists.
Prerequisite:
- You must be an administrator or have the Owner role for the project.
- Find the archived project.
- On the left sidebar, select Search or go to.
- Select View all my 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.
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. After you delete a project:
- Projects in personal namespaces are deleted immediately.
- Projects in groups are deleted after a retention period.
Prerequisite:
- You must have the Owner role for a project.
To delete a project:
- On the left sidebar, select Search or go to and 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).
You can also delete projects using the Rails console.
Delayed project deletion
- 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.
You can view projects that are pending deletion, and use the Rails console to find projects that are pending deletion.
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, select Search or go to and 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
Introduced in GitLab 12.6.
To restore a project marked for deletion:
- On the left sidebar, select Search or go to and find your project.
- Select Settings > General.
- Expand Advanced.
- In the Restore project section, select Restore project.
Disable project analytics
By default, analytics for a project are displayed under the Analyze item in the left sidebar. To disable this feature and remove the Analyze item from the left sidebar:
- On the left sidebar, select Search or go to and find your project.
- Select Settings > General.
- Expand Visibility, project features, permissions.
- Turn off the Analytics toggle.
- Select Save changes.
Disable CVE identifier request in issues
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, select Search or go to and 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
Prerequisite:
- You must have the Owner role for the project.
- On the left sidebar, select Search or go to and find your project.
- Select Settings > General.
- Expand Visibility, project features, permissions.
- Clear the Disable email notifications checkbox.
Related topics
- Alert integrations
- PagerDuty incident management
- SLA countdown timer
- Error tracking
- Incidents sync
- Service Desk
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)