管理项目
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
在 GitLab 中,大部分工作都在 项目 中完成。文件和代码保存在项目中,大多数功能都在项目范围内。
项目概览
当您选择一个项目时,项目概览页面会显示项目内容:
- 仓库中的文件
- 项目信息(描述)
- 主题
- 徽章
- 项目中的星标数、分支数、提交数、分支数、标签数、发布数和环境数
- 项目存储大小
- 可选文件和配置
README或索引文件- Wiki 页面
- 许可证
- 更新日志
- 贡献指南
- Kubernetes 集群
- CI/CD 配置
- 集成
- GitLab Pages
- 创建日期
对于公开项目,以及具有 查看项目代码权限 的内部和私有项目的成员,项目概览页面会显示:
README或索引文件。- 项目仓库中的目录列表。
对于没有权限查看项目代码的用户,概览页面会显示:
- Wiki 主页。
- 项目中的问题列表。
您可以使用项目的 ID 而不是名称来访问项目,地址为 https://gitlab.example.com/projects/<id>。
例如,如果您在个人命名空间 alex 中有一个 ID 为 123456 的项目 my-project,
您可以通过 https://gitlab.example.com/alex/my-project 或 https://gitlab.example.com/projects/123456 访问该项目。
在 GitLab 17.5 及更高版本中,您也可以使用 https://gitlab.example.com/-/p/<id> 访问此端点。
查找项目 ID
如果您想使用 GitLab API 与项目交互,您可能需要项目 ID。
查找项目 ID:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 在项目概览页面右上角,选择 操作( )。
- 选择 复制项目 ID。
查看项目
使用 项目 列表来查看:
- 实例上的所有项目
- 您使用或拥有的项目
- 非活动项目,包括已归档项目和待删除项目
查看实例上的所有项目
要查看您 GitLab 实例上的项目:
- 在左侧边栏,选择 搜索或跳转。
- 选择 探索。
- 可选。选择一个标签来筛选显示的项目。
如果您未通过身份验证,列表仅显示公开项目。
查看您使用的项目
要查看您交互过的项目:
- 在左侧边栏,选择 搜索或跳转。
- 选择 查看我的所有项目。
- 可选。选择一个标签来筛选显示的项目:
- 贡献过的:您在其中:
- 创建了问题、合并请求或史诗
- 评论了问题、合并请求或史诗
- 关闭了问题、合并请求或史诗
- 推送了提交
- 批准了合并请求
- 合并了合并请求
- 星标:您已 星标 的项目
- 个人:在您的个人命名空间下创建的项目
- 成员:您是成员的项目
- 非活动:已归档项目和待删除项目
- 贡献过的:您在其中:
您还可以从您的个人资料页面查看星标和个人项目:
- 在左侧边栏,选择您的头像,然后选择您的用户名。
- 在左侧边栏,选择 星标项目 或 个人项目。
查看非活动项目
当项目满足以下条件时,它被视为非活动:
- 它处于待删除状态。
- 它已被归档。
要查看所有非活动项目:
- 选择以下任一选项:
- 查看我的所有项目,以筛选您的项目。
- 探索,以筛选您可以访问的所有项目。
- 选择 非活动 标签。
列表中的每个项目显示:
- 一个徽章,表明项目已归档或标记为删除。
如果项目被标记为删除,列表还会显示:
- 项目被标记为删除的时间。
- 项目计划最终删除的时间。
- 一个 恢复 操作,以阻止项目最终被删除。
仅查看您拥有的项目
要仅查看您是所有者的项目:
- 在左侧边栏,选择 搜索或跳转。
- 选择以下任一选项:
- 查看您的所有项目,以筛选您的项目。
- 探索,以筛选您可以访问的所有项目。
- 在项目列表上方,选择 搜索或筛选结果。
- 从 角色 下拉列表中,选择 所有者。
查看项目活动
要查看项目的活动:
-
在左侧边栏,选择 搜索或跳转 并找到您的项目。
-
选择 管理 > 活动。
-
可选。要按贡献类型筛选活动,选择一个标签:
- 全部:项目成员的所有贡献。
- 推送事件:项目中的推送事件。
- 合并事件:项目中被接受的合并请求。
- 问题事件:项目中打开和关闭的问题。
- 评论:项目成员发布的评论。
- 设计:项目中添加、更新和移除的设计。
- 团队:加入和离开项目的成员。
出于性能原因,GitLab 会从事件表中删除超过三年的项目活动事件。
按语言筛选项目
您可以按项目使用的编程语言筛选项目。为此:
- 在左侧边栏,选择 搜索或跳转。
- 选择以下任一选项:
- 查看您的所有项目,以筛选您的项目。
- 探索,以筛选您可以访问的所有项目。
- 在项目列表上方,选择 搜索或筛选结果。
- 从 语言 下拉列表中,选择您要按其筛选项目的语言。
将显示使用所选语言的项目列表。
星标项目
您可以为您经常使用的项目添加星标,以便更容易找到它们。
为项目添加星标:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 在页面右上角,选择 星标。
离开项目
当您离开项目时:
- 您不再是项目成员,无法贡献。
- 所有分配给您的问题和合并请求都将被取消分配。
先决条件:
离开项目:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 在项目概览页面右上角,选择 操作( )。
- 选择 离开项目,然后再次选择 离开项目。
编辑项目
使用项目常规设置来编辑您的项目详细信息。
先决条件:
- 您必须至少拥有项目的 Maintainer 角色。
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 选择 设置 > 常规。
- 在 项目名称 文本框中,输入您的项目名称。请参阅 项目名称的限制。
- 可选。在 项目描述 文本框中,输入您的项目描述。描述限制为 2,000 个字符。 在 CI/CD 目录中发布的组件需要项目描述。
- 选择 保存更改。
重命名仓库
项目的仓库名称定义其 URL。
先决条件:
- 您必须是管理员,或者拥有项目的 Maintainer 或 Owner 角色。
当您更改仓库路径时,如果用户推送到或拉取自旧 URL,可能会遇到问题。 有关重定向持续时间及其副作用的更多信息,请参阅 重命名仓库时的重定向。
重命名仓库:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 选择 设置 > 常规。
- 展开 高级。
- 在 更改路径 文本框中,编辑路径。
- 选择 更改路径。
添加项目头像
添加项目头像以帮助视觉识别您的项目。如果您不添加头像,GitLab 会将项目名称的首字母显示为默认项目头像。
要添加项目头像,请使用以下方法之一:
- 在您的仓库中添加徽标。
- 在您的项目设置中上传头像。
在仓库中添加徽标
如果您尚未在项目设置中上传头像,GitLab 会查找您仓库中名为 logo 的文件用作默认项目头像。
先决条件:
- 您必须至少拥有项目的 Maintainer 角色。
- 您的文件必须小于 200 KB。理想图像尺寸为 192 x 192 像素。
- 文件必须命名为
logo,扩展名为.png、.jpg或.gif。例如,logo.gif。
要添加用作项目头像的徽标文件:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 在项目仓库的根目录中,上传徽标文件。
在项目设置中上传头像
先决条件:
- 您必须至少拥有项目的 Maintainer 角色。
- 您的文件必须小于 200 KB。理想图像尺寸为 192 x 192 像素。
- 图像必须是以下文件类型之一:
.bmp.gif.ico.jpeg.png.tiff
在项目设置中上传头像:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 选择 设置 > 常规。
- 在 项目头像 部分,选择 选择文件。
- 选择您的头像文件。
- 选择 保存更改。
删除项目
您可以安排项目删除。 默认情况下,当您第一次删除项目时,它进入待删除状态。 再次删除项目即可立即删除。
在 GitLab.com 上,项目删除后,其数据将保留 30 天。
先决条件:
- 您必须拥有项目的 Owner 角色。
- 所有者必须 允许删除项目。
删除项目:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 选择 设置 > 常规。
- 展开 高级。
- 在 删除项目 部分,选择 删除项目。
- 在确认对话框中,输入项目名称并选择 是,删除项目。
- 可选。要立即删除项目,请重复这些步骤。
您还可以 使用 Rails 控制台删除项目。
如果安排项目删除的用户在删除发生前失去对项目的访问权限 (例如,通过离开项目、角色降级或被禁止访问项目), 删除作业会恢复项目。但是,如果用户在删除作业运行前重新获得访问权限, 该作业将永久删除项目。
恢复项目
先决条件:
- 您必须拥有项目的 Owner 角色。
要恢复待删除的项目:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 选择 设置 > 常规。
- 展开 高级。
- 在 恢复项目 部分,选择 恢复项目。
归档项目
当项目被归档时,其 fork 关系将被移除,任何来自 fork 的针对此项目的开放合并请求将自动关闭。
当您归档项目时,某些功能变为只读。 这些功能仍然可以访问,但不可写入。
- 仓库
- 包
- 问题
- 合并请求
- 功能标志
- 拉取镜像
- 所有其他项目功能
归档项目的活动流水线计划不会变为只读。
如果项目已部署 Pages,它们将与任何自定义域名一起被移除, 并且 Pages 链接将不再可访问。
归档项目:
- 在项目页面上标有
archived徽章。 - 在组页面、您的工作 页面和 探索 页面的 非活动 标签下列出。
- 为只读。
先决条件:
- 停用 或删除项目的任何活动流水线计划。
归档项目:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 选择 设置 > 常规。
- 展开 高级。
- 在 归档项目 部分,选择 归档项目。
- 确认,选择 确定。
取消归档项目
当您取消归档项目时,只读限制将被移除, 并且项目将在项目列表中可用。
先决条件:
- 您必须是管理员,或者拥有项目的 Owner 角色。
- 找到已归档的项目。
- 在左侧边栏,选择 搜索或跳转。
- 选择 查看我的所有项目。
- 选择 探索项目。
- 在 排序项目 下拉列表中,选择 显示已归档的项目。
- 在 按名称筛选 字段中,输入项目名称。
- 选择项目链接。
- 在左侧边栏,选择 设置 > 常规。
- 在 高级 下,选择 展开。
- 在 取消归档项目 部分,选择 取消归档项目。
- 确认,选择 确定。
已部署的 Pages 不会恢复,您必须重新运行流水线。
当项目被取消归档时,其拉取镜像过程将自动恢复。
转移项目
转移项目以将其移动到不同的组。 项目转移包括:
-
项目组件:
- 问题
- 合并请求
- 流水线
- 仪表板
-
项目成员:
- 直接成员
- 成员邀请
在项目中具有 继承成员身份 的成员将失去访问权限,除非他们也是目标组的成员。 项目从您将其转移到的组继承新的成员权限。
项目的 路径也会更改,因此请确保在必要时更新项目组件的 URL。
如果目标命名空间中不存在匹配的组标签,将为问题和合并请求创建新的项目级标签。
如果项目包含分配给史诗的问题,并且该史诗在目标组中不可用,GitLab 会在目标组中创建该史诗的副本。当您转移多个分配给同一史诗的问题时,GitLab 会在目标组中为每个项目单独创建该史诗的副本。
转移过程中的错误可能导致项目组件或最终用户依赖项的数据丢失。
先决条件:
-
您必须至少拥有您要转移到的 组 的 Maintainer 角色。
-
您必须是您要转移项目的所有者。
-
该组必须允许创建新项目。
-
对于启用了容器注册表的项目:
- 在 GitLab.com 上:您只能在同一顶级命名空间内转移项目。
- 在 GitLab Self-Managed 上:项目不得包含 容器镜像。
-
项目不得有安全策略。 如果安全策略分配给项目,它将在转移过程中自动取消分配。
-
如果根命名空间更改,您必须从项目中移除遵循 命名约定 的 npm 包。 转移项目后,您可以:
- 使用新的根命名空间路径更新包范围,并重新发布到项目中。
- 不更新根命名空间路径重新发布包,这将导致包不再遵循命名约定。 如果您在不更新根命名空间路径的情况下重新发布包,它将不可用于 实例端点。
转移项目:
- 在左侧边栏,选择 搜索或跳转 并找到您的项目。
- 选择 设置 > 常规。
- 展开 高级。
- 在 转移项目 下,选择要将项目转移到的命名空间。
- 选择 转移项目。
- 输入项目名称并选择 确认。
您将被重定向到项目的新页面,GitLab 会应用重定向。有关仓库重定向的更多信息,请参阅 仓库路径更改。
管理员还可以从 管理区域 转移项目。
将 GitLab.com 项目转移到不同的订阅版本
当您从许可用于 GitLab.com Premium 或 Ultimate 的命名空间转移项目到 GitLab Free 时:
向项目添加合规框架
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
您可以为具有 合规框架 的组中的项目添加合规框架。
通过 LDAP 组管理项目访问
您可以 使用 LDAP 管理组成员身份。
您不能使用 LDAP 组管理项目访问权限,但可以使用以下解决方法。
先决条件:
- 您必须 将 LDAP 与 GitLab 集成。
- 您必须是管理员。
- 创建一个组 来跟踪您项目的成员身份。
- 为该组 设置 LDAP 同步。
- 要使用 LDAP 组管理对项目的访问权限, 将 LDAP 同步的组作为成员添加 到项目中。
项目别名
- Tier: Premium, Ultimate
- Offering: GitLab Self-Managed, GitLab Dedicated
GitLab 仓库通常使用命名空间和项目名称访问。然而,在将频繁访问的仓库迁移到 GitLab 时,您可以使用项目别名以原始名称访问这些仓库。通过项目别名访问仓库可以减少迁移此类仓库的相关风险。
此功能仅适用于 Git over SSH。此外,只有 GitLab 管理员可以创建项目别名,并且只能通过 API 创建。有关更多信息,请参阅 项目别名 API 文档。
管理员为项目创建别名后,您可以使用别名克隆仓库。例如,如果管理员为项目 https://gitlab.com/gitlab-org/gitlab 创建了别名 gitlab,您可以使用 git clone git@gitlab.com:gitlab.git 而不是 git clone git@gitlab.com/gitlab-org/gitlab.git 来克隆项目。