Manage projects

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

Most work in GitLab is done in a project. Files and code are saved in projects, and most features are in the scope of projects.

Project overview

History
  • Project creation date introduced in GitLab 16.10.

When you select a project, the Project overview page shows the project contents:

  • Files in the repository
  • Project information (description)
  • Topics
  • Badges
  • Number of stars, forks, commits, branches, tags, releases, and environments in the project
  • Project storage size
  • Optional files and configurations
  • README or index file
    • Wiki page
    • License
    • Changelog
    • Contributing guidelines
    • Kubernetes cluster
    • CI/CD configuration
    • Integrations
    • GitLab Pages
  • Creation date

For public projects, and members of internal and private projects with permissions to view the project’s code, the project overview page shows:

For users without permission to view the project’s code, the overview page shows:

  • The wiki homepage.
  • The list of issues in the project.

Access a project by using the project ID

History
  • Project ID moved to the Actions menu in GitLab 16.7.

You can access a project by using its ID instead of its name at https://gitlab.example.com/projects/<id>. For example, if in your personal namespace alex you have a project my-project with the ID 123456, you can access the project either at https://gitlab.example.com/alex/my-project or https://gitlab.example.com/projects/123456.

note
In GitLab 17.5 and later, you can also use https://gitlab.example.com/-/p/<id> for this endpoint.

You might also need the project ID if you want to interact with the project using the GitLab API.

To copy the project ID:

  1. On the left sidebar, select Search or go to and find your project.
  2. On the project overview page, in the upper-right corner, select Actions ().
  3. Select Copy project ID.

View all projects for the instance

To view all projects for the GitLab instance:

  1. On the left sidebar, select Search or go to.
  2. Select Explore.

On the left sidebar, Projects is selected. A list of all projects for the instance is displayed.

If you are not authenticated, the list shows public projects only.

View projects you are a member of

To view projects you are a member of:

  1. On the left sidebar, select Search or go to.
  2. Select View all my projects.

On the left sidebar, Projects is selected. On the list, on the Yours tab, all the projects you are a member of are displayed.

View personal projects

Personal projects are projects created under your personal namespace.

For example, if you create an account with the username alex, and create a project called my-project under your username, the project is created at https://gitlab.example.com/alex/my-project.

To view your personal projects:

  1. On the left sidebar, select Search or go to.
  2. Select View all my projects.
  3. Select the Personal tab.

Or

  1. On the left sidebar, select your avatar and then your username.
  2. On the left sidebar, select Personal projects.

View starred projects

To view projects you have starred:

  1. On the left sidebar, select Search or go to.
  2. Select View all my projects.
  3. Select the Starred tab.

Or

  1. On the left sidebar, select your avatar and then your username.
  2. On the left sidebar, select Starred projects.

Edit project name and description

Use the project general settings to edit your project details.

Prerequisites:

  • You must have at least the Maintainer role for the project.
  1. On the left sidebar, select Search or go to and find your project.
  2. Select Settings > General.
  3. In the Project name text box, enter your project name. See the limitations on project names.
  4. Optional. In the Project description text box, enter your project description. The description is limited to 2,000 characters. Components published in the CI/CD catalog require a project description.
  5. Select Save changes.

Add a project avatar

Add a project avatar to help visually identify your project. If you do not add an avatar, GitLab displays the first letter of your project name as the default project avatar.

To add a project avatar, use one of the following methods:

Add a logo to your repository

If you haven’t uploaded an avatar to your project settings, GitLab looks for a file named logo in your repository to use as the default project avatar.

Prerequisites:

  • You must have at least the Maintainer role for the project.
  • Your file must be 200 KB or smaller. The ideal image size is 192 x 192 pixels.
  • The file must be named logo with the extension .png, .jpg, or .gif. For example, logo.gif.

To add a logo file to use as your project avatar:

  1. On the left sidebar, select Search or go to and find your project.
  2. In the root of your project repository, upload the logo file.

Upload an avatar in project settings

Prerequisites:

  • You must have at least the Maintainer role for the project.
  • Your file must be 200 KB or smaller. The ideal image size is 192 x 192 pixels.
  • The image must be one of the following file types:
    • .bmp
    • .gif
    • .ico
    • .jpeg
    • .png
    • .tiff

To upload an avatar in your project settings:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Settings > General.
  3. In the Project avatar section, select Choose file.
  4. Select your avatar file.
  5. Select Save changes.

Star a project

You can star projects you use frequently to make them easier to find.

To star a project:

  1. On the left sidebar, select Search or go to and find your project.
  2. In the upper-right corner of the page, select Star.

Delete a project

History
  • 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.

Prerequisites:

To delete a project:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Settings > General.
  3. Expand Advanced.
  4. In the Delete this project section, select Delete project.
  5. 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

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
History

Prerequisites:

  • You must have the Owner role for the project.

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.

If the user who scheduled the project deletion loses access to the project (for example, by leaving the project, having their role downgraded, or being banned from the project) before the deletion occurs, the deletion job will instead restore and unarchive the project, so the project will no longer be scheduled for deletion.

caution
If the user who scheduled the project deletion regains Owner role or administrator access before the job runs, then the job removes the project permanently.

Delete a project immediately

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
History
  • 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:

To immediately delete a project marked for deletion:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Settings > General.
  3. Expand Advanced.
  4. In the Delete this project section, select Delete project.
  5. On the confirmation dialog, enter the project name and select Yes, delete project.

View projects pending deletion

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

To view a list of all projects that are pending deletion:

  1. On the left sidebar, select Search or go to.
  2. Select View all my projects.
  3. Select the Pending deletion tab.

Each project in the list shows:

  • The time the project was marked for deletion.
  • The time the project is scheduled for final deletion.
  • A Restore link to stop the project being eventually deleted.

Restore a project

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

Prerequisites:

  • You must have the Owner role for the project.
  • The project must be marked for deletion.

To restore a project marked for deletion:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Settings > General.
  3. Expand Advanced.
  4. In the Restore project section, select Restore project.

Archive a project

History

When you archive a project, some features become read-only. These features are still accessible, but not writable.

  • Repository
  • Packages
  • Issues
  • Merge requests
  • Feature flags
  • All other project features

Active pipeline schedules of archived projects don’t become read-only.

If the project has deployed Pages, they are removed along with any custom domains, and the Pages link is no longer accessible.

Archived projects are:

  • Labeled with an archived badge on the project page.
  • Listed in the Inactive tab on the group page, Your work page, and Explore page.
  • Read-only.

Prerequisites:

  • Deactivate or delete any active pipeline schedules for the project.

To archive a project:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Settings > General.
  3. Expand Advanced.
  4. In the Archive project section, select Archive project.
  5. 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.

Prerequisites:

  • You must be an administrator or have the Owner role for the project.
  1. Find the archived project.
    1. On the left sidebar, select Search or go to.
    2. Select View all my projects.
    3. Select Explore projects.
    4. In the Sort projects dropdown list, select Show archived projects.
    5. In the Filter by name field, enter the project name.
    6. Select the project link.
  2. On the left sidebar, select Settings > General.
  3. Under Advanced, select Expand.
  4. In the Unarchive project section, select Unarchive project.
  5. To confirm, select OK.

The deployed Pages are not restored and you must rerun the pipeline.

View project activity

To view the activity of a project:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Manage > Activity.
  3. Optional. To filter activity by contribution type, select a tab:

    • All: All contributions by project members.
    • Push events: Push events in the project.
    • Merge events: Accepted merge requests in the project.
    • Issue events: Issues opened and closed in the project.
    • Comments: Comments posted by project members.
    • Designs: Designs added, updated, and removed in the project.
    • Team: Members who joined and left the project.

Search in projects

To search through your projects, on the left sidebar, select Search or go to. GitLab filters as you type.

You can also look for the projects you starred (Starred projects).

You can Explore all public and internal projects available in GitLab.com, from which you can filter by visibility, through Trending, best rated with Most stars, or All of them.

You can sort projects by:

  • Name
  • Created date
  • Updated date
  • Stars

Filter projects by language

History

You can filter projects by the programming language they use. To do this:

  1. On the left sidebar, select Search or go to.
  2. Select either:
    • View all your projects, to filter your projects.
    • Explore, to filter all projects you can access.
  3. Above the list of projects, select Search or filter results.
  4. From the Language dropdown list, select the language you want to filter projects by.

A list of projects that use the selected language is displayed.

View only projects you own

To view only the projects you are the owner of:

  1. On the left sidebar, select Search or go to.
  2. Select either:
    • View all your projects, to filter your projects.
    • Explore, to filter all projects you can access.
  3. Above the list of projects, select Search or filter results.
  4. From the Role dropdown list, select Owner.

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 an administrator or have the Maintainer or Owner role for the project.
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:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Settings > General.
  3. Expand Advanced.
  4. In the Change path text box, edit the path.
  5. Select Change path.

Leave a project

History
  • The button to leave a project moved to the Actions menu in GitLab 16.7.

When you leave a project:

  • You are no longer a project member and cannot contribute.
  • All the issues and merge requests that were assigned to you are unassigned.

Prerequisites:

  • You can leave a project this way only when a project is part of a group under a group namespace.
  • You must be a direct member of the project.

To leave a project:

  1. On the left sidebar, select Search or go to and find your project.
  2. On the project overview page, in the upper-right corner, select Actions ().
  3. Select Leave project, then Leave project again.

Add a compliance framework to a project

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

You can add compliance frameworks to projects in a group that has a compliance framework.

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:

  1. Create a group to track membership of your project.
  2. Set up LDAP synchronization for that group.
  3. To use LDAP groups to manage access to a project, add the LDAP-synchronized group as a member to the project.

Project aliases

Tier: Premium, Ultimate Offering: Self-managed, GitLab Dedicated

GitLab repositories are usually accessed with a namespace and a project name. When migrating frequently accessed repositories to GitLab, however, you can use project aliases to access those repositories with the original name. Accessing repositories through a project alias reduces the risk associated with migrating such repositories.

This feature is only available on Git over SSH. Also, only GitLab administrators can create project aliases, and they can only do so through the API. For more information, see the Project Aliases API documentation.

After an administrator creates an alias for a project, you can use the alias to clone the repository. For example, if an administrator creates the alias gitlab for the project https://gitlab.com/gitlab-org/gitlab, you can clone the project with git clone git@gitlab.com:gitlab.git instead of git clone git@gitlab.com:gitlab-org/gitlab.git.