此版本的 GitHub Enterprise 已停止服务 2021-09-23. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

复刻仓库

复刻是仓库的副本。 通过复刻仓库,您可以自由地尝试更改而不会影响原始项目。

关于复刻

复刻最常见的用法是对其他人的项目提出更改或将其他人的项目用作自己创意的起点。 您可以复刻仓库以创建仓库的副本,并在不影响上游仓库的情况下进行更改。 更多信息请参阅“使用复刻”。

对其他人的项目提出更改

例如,可以使用复刻提出与修复 Bug 相关的更改。 无需为您发现的漏洞创建议题,您可以:

  • 复刻仓库
  • 进行修复
  • 向项目所有者提交拉取请求。

将其他人的项目用作自己创意的起点。

开源软件的理念是通过共享代码,可以开发出更好、更可靠的软件。 更多信息请参阅 Open Source Initiative(开源倡议)上的“关于开源倡议”。

有关将开源原则应用于组织在 您的 GitHub Enterprise Server 实例 上的开发工作的详细信息,请参阅 GitHub 的白皮书“内部来源简介”。

从其他人的项目复刻创建公共仓库时,请确保包含许可文件以确定您希望与其他人共享项目。 更多信息请参阅 choosealicense.com 上的“选择开源许可”。

为深入了解开源,特别是如何创建和发展开源项目,我们制作了开源指南,它将推荐关于创建和维护开源项目仓库的最佳实践,帮助您培养一个健康发展的开源社区。 您还可以免费学习关于维护开源社区的 GitHub Learning Lab 课程。

基本要求

如果尚未设置 Git,您应该先设置它。 不要忘记从 Git 设置向 您的 GitHub Enterprise Server 实例 验证

复刻仓库

您可能为了对上游或原始仓库提议更改而复刻项目。 在这种情况下,最好定期将您的复刻与上游仓库同步。 为此,您需要在命令行上使用 Git。 您可以使用刚才复刻的 octocat/Spoon-Knife 仓库练习设置上游仓库。

  1. 在 您的 GitHub Enterprise Server 实例 上,导航到 octocat/Spoon-Knife 仓库。
  2. 在页面的右上角,单击 Fork(复刻)复刻按钮

To learn more about GitHub CLI, see "About GitHub CLI."

要创建仓库的复刻,请使用 gh repo fork 子命令。

gh repo fork repository

要在组织中创建复刻,请使用 - org 标记。

gh repo fork repository --org "octo-org"

克隆复刻的仓库

Right now, you have a fork of the Spoon-Knife repository, but you don't have the files in that repository locally on your computer.

  1. 在 GitHub Enterprise Server 上,导航到 Spoon-Knife 仓库的复刻

  2. 在文件列表上方,单击 ****Code(代码)。 "代码"按钮

  3. 要使用 HTTPS 克隆仓库,请在“Clone with HTTPS(使用 HTTPS 克隆)”下单击 . 要使用 SSH 密钥克隆仓库,包括由组织的 SSH 证书颁发机构颁发的证书,请单击 Use SSH(使用 SSH),然后单击 用于复制 URL 以克隆仓库的剪贴板图标

    用于复制 URL 以使用 GitHub CLI 克隆仓库的剪贴板图标

  4. 打开 Terminal(终端)Terminal(终端)Git Bash

  5. 将当前的工作目录更改为您想要存储克隆目录的位置。

  6. 键入 git clone,然后粘贴先前复制的 URL。 它将如下所示,使用您的 GitHub Enterprise Server 用户名替换 YOUR-USERNAME

    $ git clone https://主机名/YOUR-USERNAME/Spoon-Knife
  7. Enter 键。 将创建您的本地克隆。

    $ git clone https://主机名/YOUR-USERNAME/Spoon-Knife
    > Cloning into `Spoon-Knife`...
    > remote: Counting objects: 10, done.
    > remote: Compressing objects: 100% (8/8), done.
    > remove: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.

To learn more about GitHub CLI, see "About GitHub CLI."

要创建复刻的克隆,请使用 --clone 标记。

gh repo fork repository --clone=true
  1. File(文件)菜单中,单击 Clone Repository(克隆仓库)

    Mac 应用程序中的克隆菜单选项

    Windows 应用程序中的克隆菜单选项

  2. 单击与要克隆的仓库位置对应的选项卡。 您也可以单击 URL 手动输入仓库位置。

    克隆仓库菜单中的 Location(位置)选项卡

    克隆仓库菜单中的 Location(位置)选项卡

  3. 从列表中选择要克隆的仓库。

    克隆仓库列表

    克隆仓库列表

  4. 单击 Choose...(选择...)并找到要克隆仓库的本地路径。

    选择按钮

    选择按钮

  5. 单击 Clone(克隆)

    克隆按钮

    克隆按钮

配置 Git 以将您的复刻与原始仓库同步

为了对原始仓库提议更改而复刻项目时,您可以配置 Git 以将更改从原始或上游仓库拉取到复刻的本地克隆。

  1. 在 GitHub Enterprise Server 上,导航到 octocat/Spoon-Knife 仓库。

  2. 在文件列表上方,单击 ****Code(代码)。 "代码"按钮

  3. 要使用 HTTPS 克隆仓库,请在“Clone with HTTPS(使用 HTTPS 克隆)”下单击 . 要使用 SSH 密钥克隆仓库,包括由组织的 SSH 证书颁发机构颁发的证书,请单击 Use SSH(使用 SSH),然后单击 用于复制 URL 以克隆仓库的剪贴板图标

    用于复制 URL 以使用 GitHub CLI 克隆仓库的剪贴板图标

  4. 打开 Terminal(终端)Terminal(终端)Git Bash

  5. 将目录更改为您克隆的复刻的位置。

    • 要转到主目录,请只键入 cd,不要键入其他文本。
    • 要列出当前目录中的文件和文件夹,请键入 ls
    • 要进入列出的某个目录,请键入 cd your_listed_directory
    • 要回到上一个目录,请键入 cd ..
  6. 键入 git remote -v,然后按 Enter 键。 您将看到当前为复刻配置的远程仓库。

    $ git remote -v
    > origin  https://主机名/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin  https://主机名/YOUR_USERNAME/YOUR_FORK.git (push)
  7. 键入 git remote add upstream,然后粘贴您在第 2 步中复制的 URL 并按 Enter 键。 它将如下所示:

    $ git remote add upstream https://主机名/octocat/Spoon-Knife.git
  8. 要验证为复刻指定的新上游仓库,请再次键入 git remote -v。 您应该看到复刻的 URL 为 origin,原始仓库的 URL 为 upstream

    $ git remote -v
    > origin    https://主机名/YOUR_USERNAME/YOUR_FORK.git (fetch)
    > origin    https://主机名/YOUR_USERNAME/YOUR_FORK.git (push)
    > upstream  https://主机名/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
    > upstream  https://主机名/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

现在,您可以使用一些 Git 命令使您的复刻与上游仓库保持同步。 更多信息请参阅“同步复刻”。

To learn more about GitHub CLI, see "About GitHub CLI."

要为复刻的仓库配置远程仓库,请使用 --remote 标记。

gh repo fork repository --remote=true

要指定远程仓库的名称,请使用 --remote-name 标记。

gh repo fork repository --remote-name "main-remote-repo"

后续步骤

您可以对复刻进行任何更改,包括:

  • 创建分支:分支允许您在不影响主项目的情况下构建新功能或测试创意。
  • 打开拉取请求:如果您希望回馈原始仓库,您可以通过提交拉取请求请求原作者将您的复刻拉取到他们的仓库。

另找一个仓库进行复刻

复刻仓库,开始参与项目。 您可以将仓库复刻到您的用户帐户或具有仓库创建权限的任何组织。 更多信息请参阅“组织的权限级别”。

如果您可以访问私有仓库且所有者允许复刻,则您可以将该仓库复刻到您的用户帐户或者 您的 GitHub Enterprise Server 实例 上您具有仓库创建权限的任何组织。

祝贺

您现在已经复刻了仓库、练习了克隆复刻并配置了上游仓库。 有关克隆复刻和从计算机同步复刻仓库更改的更多信息,请参阅“设置 Git”。

您也可以创建一个新的仓库,以将所有项目放在 GitHub 上并共享代码。 更多信息请参阅“创建仓库”。

GitHub Enterprise Server 中的每个仓库均归个人或组织所有。 您可以在 GitHub Enterprise Server 上连接和关注人员、仓库和组织以与之进行交互。 更多信息请参阅“社交”。

GitHub Enterprise Server 有一个强大的支持社区,您可以在那里寻求帮助并与来自世界各地的人交谈。 加入 Github 支持社区的对话。