处理项目 (免费)
GitLab 中的大部分工作都是在一个 完成的 项目中 。 文件和 代码保存在项目中,大部分功能都在项目范围内。
探索项目
您可以探索 GitLab 上可用的其他流行项目。 探索项目:
- 在顶部栏上,选择 菜单 > 项目 。
- 选择 探索项目 。
GitLab 显示项目列表,按上次更新日期排序。 查看 最多的项目 星数 ,单击 星数最多 。 查看 上个月评论数量最多的项目,点击 热门 。
笔记: 默认情况下, /explore
对未经身份验证的用户可见。 然而,如果 公众 可见度 受到限制, /explore
仅对登录用户可见。
创建项目
在 GitLab 中创建项目:
- 在您的仪表板中,单击绿色的 新建项目 按钮或使用加号 导航栏中的图标。 这将打开 新建项目 页面。
- 在“ 新建项目” 页面上,选择是否要:
- 创建一个 空白项目 。
- 使用可用的 之一创建 项目模板 项目 。
- 导入项目 从不同的存储库 , 如果在您的 GitLab 实例上启用。 如果这不可用,请联系您的 GitLab 管理员。
- 运行 为外部存储库 CI/CD 管道 。 (优质的)
笔记: 有关不能用作项目名称的单词列表,请参阅 保留的项目和组名称 。
空白项目
要在“ 上创建一个新的空白项目 新建项目” 页面 :
- 单击 创建空白项目
- 提供以下信息:
- 中的 项目名称 项目名称 字段 。 你不能用 特殊字符,但您可以使用空格、连字符、下划线,甚至 表情符号。 添加名称时, Project slug 会 自动填充。 slug 是 GitLab 实例用作项目的 URL 路径的内容。 如果你想要不同的slug,先输入项目名称, 然后更换后的slug。
- 中的 路径 Project slug 项目 字段 。 这是网址 GitLab 实例使用的项目路径。 如果 项目名称 为空,填写时自动填充 该 项目蛞蝓 。
- 该 项目说明(可选) 字段允许你输入 项目仪表板的描述,有助于其他人 了解您的项目是关于什么的。 虽然不是必须的,但是很好 想法来填补这个。
- 更改 可见性级别 会修改项目的 查看和访问权限 用户的 。
- 选择 使用 README Initialize 存储库 选项 会创建一个 README 文件,以便初始化 Git 存储库,具有默认分支,以及 可以克隆。
- 单击 创建项目 。
项目模板
项目模板可以使用必要的文件预先填充新项目,以便您 很快就开始了。
有两种主要类型的项目模板:
内置模板
内置模板是项目模板,它们是:
- 开发和维护在
project-templates
和pages
组。 - 与 GitLab 一起发布。
- 任何人都可以按照 贡献内置模板 以下步骤 。
要在“ 上使用内置模板 新建项目” 页面 :
- 单击 从模板创建
- 选择 内置 选项卡。
- 从可用的内置模板列表中,单击:
- 预览 按钮查看模板源本身。
- 使用模板 按钮开始创建项目。
- 通过填写项目的详细信息完成项目的创建。 过程是 与创建 相同 空白项目 。
企业模板 (终极版)
GitLab 正在开发企业模板,以帮助您根据选定的监管标准简化审计管理。 这些模板会自动导入与每个监管要求相对应的问题。
要使用企业模板创建新项目,请在“ 新建项目” 页面上:
- 单击 从模板创建
- 选择 内置 选项卡。
- 从可用的内置企业模板列表中,单击:
- 预览 按钮查看模板源本身。
- 使用模板 按钮开始创建项目。
- 通过填写项目的详细信息完成项目的创建。 该过程与创建 相同 空白项目 。
可用的企业模板包括:
- HIPAA 审计协议模板( 引入 在 GitLab 12.10 中 )
笔记: 您可以改进现有的内置模板或在 project-templates
和 pages
按照 分组 以下步骤进行 。
自定义项目模板 (PREMIUM)
引入 在 GitLab Premium 11.2 中 。
基于自定义项目模板创建新项目是一个方便的选择 快速启动项目。
自定义项目在 可用 实例级别 从 实例 选项卡,或在 组级别 从 组 选项卡,在 从模板创建 页面上。
要在“ 上使用自定义项目模板 新建项目” 页面 :
- 单击 从模板创建
- 选择 实例 选项卡或 组 选项卡。
- 从可用的自定义模板列表中,单击:
- 预览 按钮查看模板源本身。
- 使用模板 按钮开始创建项目。
- 通过填写项目的详细信息完成项目的创建。 过程是 与创建 相同 空白项目 。
推送创建一个新项目
引入 在 GitLab 10.5 中 。
在本地新建仓库时,而不是在 GitLab 中手动新建项目 然后 克隆存储库 在本地,你可以直接推送到GitLab来创建新项目,一切都不用离开 你的终端。 如果您有权访问关联的命名空间,GitLab 自动在该 GitLab 命名空间下创建一个具有可见性的新项目 默认设置为 Private (您可以稍后在 更改它 项目的设置中 )。
这可以通过使用 SSH 或 HTTPS 来完成:
## Git push using SSH
git push --set-upstream git@gitlab.example.com:namespace/nonexistent-project.git master
## Git push using HTTPS
git push --set-upstream https://gitlab.example.com/namespace/nonexistent-project.git master
你可以通过flag --tags
到 git push
命令导出现有的存储库标签。
推送成功完成后,远程消息指示 设置远程和新项目的 URL 的命令:
remote:
remote: The private project namespace/nonexistent-project was created.
remote:
remote: To configure the remote, run:
remote: git remote add origin https://gitlab.example.com/namespace/nonexistent-project.git
remote:
remote: To view the project, visit:
remote: https://gitlab.example.com/namespace/nonexistent-project
remote:
分叉一个项目
分叉是您放在另一个命名空间中的原始存储库的副本 您可以在其中试验和应用更改,您可以稍后决定是否或 不共享,不影响原项目。
只需要几个步骤 在 GitLab 中 fork 一个项目 。
为项目加星标
您可以为项目加星标,以便更轻松地找到您经常使用的项目。 一个项目的星数可以表明它的受欢迎程度。
要为项目加星标:
- 转到您要加注星标的项目的主页。
- 在页面右上角,单击 Star 。
查看您加星标的项目:
-
在顶部栏上,选择 菜单 > 项目 。
-
选择 加星项目 。
-
GitLab 显示有关您已加星标的项目的信息,包括:
- 项目描述,包括名称、描述和图标
- 该项目被加星的次数
- 该项目被分叉的次数
- 打开的合并请求数
- 未解决的问题数量
删除项目
要删除项目,首先导航到该项目的主页。
- 导航到 设置 > 常规 。
- 展开 高级 部分。
- 向下滚动到 删除项目 部分。
- 点击 删除项目
- 通过输入预期文本来确认此操作。
个人命名空间中的项目会根据要求立即删除。 有关延迟删除组中项目的信息,请参阅 启用延迟删除项目 。
项目设置
设置项目的可见性级别和对其各个页面的访问级别 并执行诸如归档、重命名或转移项目之类的操作。
通读有关 的文档 项目设置 。
项目活动
要查看项目的活动:
- 在左侧边栏上,选择 项目信息 > 活动 。
- 选择一个选项卡以查看 所有 活动,或按以下任一条件对其进行过滤:
- 推送事件
- 合并事件
- 问题事件
- 评论
- 团队
- 维基
离开一个项目
离开项目 仅显示在项目的仪表板上 当一个项目是一个组的一部分时(在一个 组命名空间 )。 如果你选择离开一个项目,你就不再是一个项目 会员,不能贡献。
使用你的项目作为 Go 包
任何项目都可以用作 Go 包。 GitLab 正确响应 go get
和 godoc.org
发现请求,包括 go-import
和 go-source
元标记。
私有项目,包括子组中的项目,可以作为Go包使用, 但可能需要配置才能正常工作。 GitLab 正确响应 到 go get
项目的发现请求 不 属于子组的 , 无论是认证还是授权。 认证 使用私有项目需要 在一个子组中作为一个 Go 包。 否则,GitLab 会截断路径 子组中的私人项目到前两个部分,导致 go get
到 失败。
GitLab 实现了自己的 Go 代理。 此功能必须由 管理员,需要额外的配置。 见 GitLab 去 代理 。
禁用私有项目的 Go 模块功能
在 Go 1.12 及更高版本中,Go 查询模块代理和校验和数据库中的 过程 获取一个的 模块 。 这可以是 有选择地禁用 GOPRIVATE
(禁用两者), GONOPROXY
(禁用代理 查询),以及 GONOSUMDB
(禁用校验和查询)。
GOPRIVATE
, GONOPROXY
, 和 GONOSUMDB
是逗号分隔的 Go 列表 模块和 Go 模块前缀。 例如, GOPRIVATE=gitlab.example.com/my/private/project
禁用查询 一个项目,但 GOPRIVATE=gitlab.example.com
禁用 查询 所有 GitLab.com 上的项目。 如果模块名称或名称,Go 不会查询模块代理 它的前缀出现在 GOPRIVATE
要么 GONOPROXY
. Go 不查询校验和 如果模块名称或其前缀出现在数据库中 GONOPRIVATE
要么 GONOSUMDB
.
验证 Go 请求
要验证 Go 对私有项目的请求,请使用 .netrc
文件 和 个人访问 令牌 密码字段中的 。 这仅 如果您的 GitLab 实例可以通过 HTTPS 访问,则工作正常。 这 go
命令 不通过不安全的连接传输凭据。 这验证 Go 直接发出的所有 HTTPS 请求,但不验证发出的请求 通过 Git。
例如:
machine gitlab.example.com
login <gitlab_user_name>
password <personal_access_token>
笔记: 在 Windows 上,Go 读取 ~/_netrc
代替 ~/.netrc
.
验证 Git 获取
如果无法从代理获取模块,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"
使用项目 ID 访问项目页面
引入 在 GitLab 11.8 中 。
要使用项目 ID 从 GitLab UI 快速访问项目, 参观 /projects/:id
浏览器或其他访问项目的工具中的 URL。
项目登陆页面
项目的登陆页面显示不同的信息,具体取决于 项目的可见性设置和用户权限。
对于公共项目,以及内部和私人项目的成员 具有 查看项目代码的权限 :
- 的内容
README
或索引文件 显示(如果有),然后是目录列表 项目的存储库。 - 如果项目不包含这些文件中的任何一个,则 访问者可以看到存储库的文件和目录列表。
对于没有权限查看项目代码的用户,GitLab 显示:
- 维基主页,如果有的话。
- 项目中的问题列表。