Skip to content

GitLab - Fork 项目

在 GitLab 中派生 (Fork) 项目会创建一个现有仓库的个人副本。这允许您进行更改、尝试新想法或提出贡献(如错误修复或新功能),而不会直接影响原始项目。可以将其视为获得代码库的个人沙盒版本。

派生是协作开发(尤其是在开源项目中)的基石。它使开发者能够独立工作,然后通过合并请求 (Merge Request, MR) 将其更改提案回馈给原始项目。

按照以下一般步骤在 GitLab 中派生项目:

  1. 导航到您希望派生的 GitLab 项目主页。
  2. 找到并点击“派生 (Fork)”按钮。该按钮通常位于项目页面右上角附近,常在“星标 (Star)”或“克隆 (Clone)”等选项旁边。
  3. 然后您会被提示选择一个命名空间 (namespace)(如您的个人命名空间或您有权限的群组),派生项目将在此处创建。
  4. GitLab 随后会将仓库复制到您选择的命名空间。此过程可能需要几分钟,具体取决于原始项目的大小。
  5. 完成后,您将被重定向到新派生的项目。它将与原始项目同名,但位于您的命名空间下。您会看到一条消息,指示它派生自原始项目。

派生后,您可以将派生的仓库克隆到本地机器,创建新分支,提交更改,并将它们推送到您的派生仓库。如果您打算贡献回原始项目,您随后需要从您的派生仓库向原始(上游,upstream)项目创建合并请求 (Merge Request)。

保持您的派生仓库与原始(上游)项目同步非常重要,以避免冲突并确保您正在使用最新的更改。您可以通过在本地克隆中将原始仓库配置为远程 (remote),并定期抓取 (fetch) 和合并 (merge) 其更新来实现。

例如,克隆您的派生仓库后:

git remote add upstream <URL_of_original_project.git>
git fetch upstream
git merge upstream/main # 或者 upstream/master,取决于默认分支

许多开发者认为定期从上游仓库拉取更改到其派生仓库的主分支,然后将功能分支基于这个更新后的主分支进行变基 (rebase),会很有帮助。

有关派生工作流和管理派生仓库的更详细信息,请参阅官方 GitLab 文档:GitLab 派生工作流。