- Projects
- Projects
- Project features
- New project
- Project settings
- Import or export a project
- Remove a project
- CI/CD for external repositories
- Project members
- Project activity
- Project’s landing page
- Redirects when changing repository paths
- Use your project as a Go package
- Access project page with project ID
- Project aliases
- Project APIs
Projects
- Project features
- New project
- Project settings
- Import or export a project
- Remove a project
- CI/CD for external repositories
- Project members
- Project activity
- Project’s landing page
- Redirects when changing repository paths
- Use your project as a Go package
- Access project page with project ID
- Project aliases
- Project APIs
Projects
在 GitLab 中,您可以创建用于托管代码库的项目,将其用作问题跟踪器,在代码上进行协作,并使用内置的 GitLab CI / CD 持续构建,测试和部署应用程序.
您可以选择公开,内部或私有使用您的项目. GitLab 不限制您创建的私人项目的数量.
Project features
在 GitLab 中创建项目时,您将可以使用大量功能 :
Repositories:
发出和合并请求:
- 问题跟踪器 :与您的团队讨论问题内的实现
- 合并请求 :应用您的分支策略并获得团队的审查
- 合并请求批准 :实施更改之前请求批准
- 修复 UI 中的合并冲突 :直接从 GitLab UI 中使用 Git diff 工具
- 审查应用程序 :按分支实时预览合并请求中建议的更改结果
- 标签 :按标签整理问题并合并请求
- 时间跟踪 :跟踪估计在完成问题或合并请求上花费的时间和时间
- 里程碑 :朝着目标日期迈进
- 描述模板 :为项目定义特定于上下文的模板,并为您的项目合并请求描述字段
- 斜杠命令(快速操作) :针对问题或合并请求的常见操作的文本快捷方式
- 自动完成字符 :自动完成对用户,组,问题,合并请求和其他 GitLab 元素的引用.
- Web IDE
亚搏体育 app CI / CD:
- GitLab CI / CD :GitLab 内置的持续集成,交付和部署工具
- 容器注册表 :开箱即用地构建和推送 Docker 映像
- 自动部署 :配置 GitLab CI / CD 以自动设置应用程序的部署
- 启用和禁用 GitLab CI / CD
- 管道 :从 UI 配置和可视化 GitLab CI / CD 管道
- Kubernetes 集群集成 :将您的 GitLab 项目与 Kubernetes 集群连接
- 功能标志 :功能标志允许您通过动态切换某些功能来以不同的方式发布项目
- GitLab Pages :使用GitLab Pages构建,测试和部署您的静态网站
其他特性:
- Wiki :在集成的 Wiki 中记录您的 GitLab 项目.
- 片段 :存储,共享和协作代码片段.
- 价值流分析 :查看您的开发生命周期.
- 见解 :配置对您的项目至关重要的见解.
- 安全仪表板 :安全仪表板.
- 语法突出显示 :一种自定义代码块的替代方法,它替代了 GitLab 的默认语言选择.
- 徽章 :项目概述的徽章.
- 发行版 :一种跟踪项目中可交付成果的方式,可作为源,构建输出,其他元数据和与代码的发行版本相关的其他工件的快照.
- Conan 软件包 :您在 GitLab 中的私人 Conan 存储库.
- Maven 软件包 :您在 GitLab 中的私有 Maven 存储库.
- NPM 软件包 :您在 GitLab 中的私有 NPM 软件包注册表.
- 代码所有者 :为某些文件指定代码所有者
- 许可证合规性 :批准和拒绝项目的许可证.
- 依赖项列表 :查看项目依赖项.
- 要求 :要求使您可以创建标准来检查产品.
- 静态站点编辑器 :无需事先了解代码库或 Git 命令,即可在静态网站上快速编辑内容.
- 代码智能 :代码导航功能.
Project integrations
将您的项目与 Jira,Mattermost,Kubernetes,Slack 等进行集成 .
New project
了解如何在 GitLab 中创建一个新项目 .
Fork a project
您可以派生一个项目 ,以便:
- 通过分叉项目并创建从分支到上游项目的合并请求来进行代码协作
- 分叉一个示例项目以在其顶部工作
Star a project
您可以为项目加注星标,以使其更容易找到您经常使用的项目. 项目拥有的明星数量可以表明其受欢迎程度.
为项目加注星标:
- 转到要加注星标的项目的主页.
- 在页面的右上角,点击星标 .
要查看已加星标的项目,请执行以下操作:
- 单击导航栏中的项目 .
- Click 已加星标的项目.
GitLab 显示有关已加星标项目的信息,包括:
- 项目描述,包括名称,描述和图标
- 已为该项目加注星标的次数
- Number of times this project has been forked
- 打开的合并请求数
- 未解决问题的数量
Explore projects
您可以探索 GitLab 上可用的其他流行项目. 探索项目:
- 单击导航栏中的项目 .
- Click 探索项目.
GitLab 显示一个项目列表,按上次更新日期排序. 要查看具有最多星星的项目,请单击” 最多星星” . 要查看过去一个月中评论数量最多的项目,请点击趋势 .
Project settings
将项目的可见性级别和访问级别设置为各个页面,并执行诸如归档,重命名或传输项目的操作.
通读有关项目设置的文档.
Import or export a project
- Import a project from:
- Export a project from GitLab
- Importing and exporting projects between GitLab instances
Remove a project
要删除项目,请首先导航到该项目的主页.
- 导航至设置>常规 .
- 展开高级部分.
- 向下滚动到” 删除项目”部分.
- Click 移除专案
- 通过输入所需的文本来确认此操作.
Delayed removal
默认情况下,单击以删除项目后会延迟 7 天. 管理员可以在这段时间内恢复项目. 管理员可以更改此延迟.
管理员可以查看所有待删除项目. 如果您是管理员,请转到顶部导航栏,单击” 项目”>”您的项目” ,然后选择”已删除的项目”选项卡. 管理员可以从此选项卡还原任何项目.
CI/CD for external repositories
您可以将存储库作为 CI / CD 项目连接,而不是将存储库直接导入到 GitLab.
通读CI / CD 上有关外部存储库的文档.
Project members
了解如何将成员添加到您的项目中 .
Project activity
要查看项目的活动,请导航至项目概述>活动 . 在此处,您可以单击选项卡以查看所有活动,或查看按Push 事件 , Merge 事件 , Issue 事件 , Comment , Team和Wiki过滤的活动 .
Leave a project
当项目属于组时(在组命名空间下 ), 离开项目将仅显示在项目的仪表板上. 如果您选择退出项目,那么您将不再是项目成员,因此无法参与.
Project’s landing page
项目的登录页面根据项目的可见性设置和用户权限显示不同的信息.
对于公共项目以及有权查看该项目代码的内部和私有项目的成员:
- 显示
README
文件或索引文件的内容(如果有),然后显示项目存储库中的目录列表. - 如果项目不包含这些文件中的任何一个,则访问者将看到存储库的文件和目录列表.
对于没有权限查看项目代码的用户:
- 显示维基主页(如果有).
- 显示项目中的问题列表.
Redirects when changing repository paths
当存储库路径更改时,从旧位置平稳过渡到新位置至关重要. GitLab 提供两种重定向:Web UI 和 Git 推/拉重定向.
根据情况,可能会有所不同.
When renaming a user, changing a group path or renaming a repository:
- 名称空间及其下的任何内容(例如项目)的现有 Web URL 将重定向到新 URL.
- 从 GitLab 10.3 开始,命名空间下项目的现有 Git 远程 URL 将重定向到新的远程 URL. 每次将其推/拉到更改位置的存储库时,都会显示一条警告消息,提示您更新遥控器,而不是拒绝操作. 这意味着在重命名后,任何自动化脚本或 Git 客户端将继续工作,从而使任何过渡都更加顺畅.
- The redirects will be available as long as the original path is not claimed by another group, user or project.
Use your project as a Go package
任何项目都可以用作 Go 包. GitLab 会正确响应go get
和godoc.org
发现请求,包括go-import
和go-source
元标记.
私有项目(包括子组中的项目)可以用作 Go 包,但可能需要进行配置才能正常工作. 无论身份验证或授权如何,GitLab 都会正确响应以go get
不在子组中的项目的发现请求. 要使用子组中的私有项目作为 Go 包,必须进行身份验证 . 否则,GitLab 会将子组中私有项目的路径截断到前两个段,从而导致go get
失败.
GitLab 实现了自己的 Go 代理. 此功能必须由管理员启用,并且需要其他配置. 请参阅GitLab Go 代理 .
Disable Go module features for private projects
In Go 1.12 and later, Go queries module proxies and checksum databases in the process of fetching a module. This can be selectively disabled with GOPRIVATE
(disable both), GONOPROXY
(disable proxy queries), and GONOSUMDB
(disable checksum queries).
GOPRIVATE
, GONOPROXY
和GONOSUMDB
是 Go 模块和 Go 模块前缀的逗号分隔列表. 例如, GOPRIVATE=gitlab.example.com/my/private/project
将禁用对该项目的查询,而GOPRIVATE=gitlab.example.com
将禁用GOPRIVATE=gitlab.example.com
所有项目的查询. 如果模块名称或其前缀出现在GOPRIVATE
或GONOPROXY
,则 Go 不会查询模块代理. 如果模块名称或其前缀出现在GONOPRIVATE
或GONOSUMDB
,则 Go 不会查询校验和数据库.
Authenticate Go requests
要验证对 Go 私有项目的请求,请在密码字段中使用.netrc
文件和个人访问令牌 . 仅当可以通过 HTTPS 访问您的 GitLab 实例时,此方法才有效. go
命令不会通过不安全的连接传输凭据. 这将验证 Go 直接发出的所有 HTTPS 请求,但不会验证通过 Git 发出的请求.
例如:
machine example.gitlab.com
login <gitlab_user_name>
password <personal_access_token>
注意:在 Windows 上,Go 读取~/_netrc
而不是~/.netrc
.
Authenticate Git fetches
如果无法从代理中获取模块,Go 将退回到使用 Git(对于 GitLab 项目). Git 将使用.netrc
来认证请求. 另外,可以将 Git 配置为在请求 URL 中嵌入特定的凭据,或者使用 SSH 代替 HTTPS(因为 Go 始终使用 HTTPS 来获取 Git 存储库):
# embed credentials in any request to GitLab.com:
git config --global url."https://${user}:${personal_access_token}@gitlab.example.com".insteadOf "https://gitlab.example.com"
# use SSH instead of HTTPS:
git config --global url."git@gitlab.example.com".insteadOf "https://gitlab.example.com"
Access project page with project ID
在 GitLab 11.8 中引入 .
要使用项目 ID 从 GitLab UI 快速访问项目,请在浏览器或其他访问项目的工具中访问/projects/:id
URL.
Project aliases
Introduced in GitLab Premium 12.1.
将存储库迁移到 GitLab 并被其他系统访问时,能够使用相同的名称访问它们非常有用,尤其是当它们很多时. 它降低了在大量系统中更改大量 Git URL 的风险.
manbetx 客户端打不开提供了功能来帮助这一点. 在 GitLab 中,通常使用名称空间和项目名称访问存储库. 也可以通过项目别名访问它们. 此功能仅在通过 SSH 的 Git 上可用.
项目别名只能通过 API 创建,并且只能由 GitLab 管理员创建. 有关更多详细信息,请遵循Project Aliases API 文档 .
一旦为项目创建了别名(例如,项目https://gitlab.com/gitlab-org/gitlab
的别名gitlab
),就可以使用别名(例如git clone git@gitlab.com:gitlab.git
)来克隆存储库. git clone git@gitlab.com:gitlab.git
而不是git clone git@gitlab.com:gitlab-org/gitlab.git
).
Project APIs
您的项目可以使用许多API :