项目派生工作流
只要有可能,建议在公共 Git 仓库中工作并使用分支策略来管理您的工作。但是,如果您对要贡献的仓库没有写入权限,则可以创建一个分支。
派生是仓库及其所有分支的个人副本,您可以在您选择的命名空间中创建它。通过这种方式,您可以在自己的派生项目中进行更改,并通过合并请求将它们提交到您无权访问的仓库。
创建派生
在极狐GitLab 中派生现有项目:
-
在项目首页,右上角,点击 派生。
-
选择要派生到的项目:
-
推荐方法:在 选择一个命名空间来派生(fork)项目 下方,确定要派生到的项目,然后单击 选择。仅显示您拥有开发者和更高权限的命名空间。
-
实验方法:如果你的管理员已经启用了实验 fork 项目表单,阅读使用派生项目表单创建一个派生项目。仅显示您拥有开发者和更高权限的命名空间。
项目路径在命名空间中必须是唯一的。 -
极狐GitLab 创建您的派生项目,并将您重定向到新派生项目的项目页面。 您在命名空间中拥有的权限就是您在派生项目中的权限。
仓库镜像
您可以使用使您的派生与原始仓库同步。您也可以使用 git remote add upstream
来达到同样的效果。
主要区别在于,使用仓库镜像,您的远端分支会自动保持最新。
如果没有镜像,要在本地工作,您必须使用 git pull
用上游项目更新您的本地仓库,然后将更改推送回您的派生仓库以更新它。
合并到上游
当您准备好将代码发送回上游项目时,创建合并请求。对于 源分支,选择您的派生项目的分支。对于目标分支,选择原始项目的分支。
然后您可以添加标记、里程碑,并将合并请求分配给可以查看您的更改的人员。然后单击 提交合并请求 以结束该过程。成功合并后,您的更改将添加到您要合并到的仓库和分支中。
删除派生关系
您可以在高级设置中取消派生项目与其上游项目的链接。
使用派生项目表单创建一个派生项目
- 引入于 13.11 版本
- 在功能标志后默认禁用
- 不推荐生产环境使用
- 要在自助管理实例中使用它,请要求管理员启用它。
这个实验版本的派生项目表单只有在您的管理员已启用它时才可用:
使用请按照 Creating a fork 中的说明进行操作并提供:
- 项目名称。
- 项目 URL。
- 项目标识串。
- (可选) 项目描述。
- 派生项目的可见性级别。
启用或禁用派生项目表单
新的派生项目表单正在开发中,尚未准备好用于生产。它部署在默认禁用的功能标志后面。 可以访问 GitLab Rails 控制台的 GitLab 管理员可以启用它。
要启用它:
Feature.enable(:fork_project_form)
要禁用它:
Feature.disable(:fork_project_form)