复刻仓库

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

关于复刻

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

对其他人的项目提出更改

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

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

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

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

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

基本要求

如果尚未设置 Git,您应该先设置它。 不要忘记从 Git 设置向 your enterprise 验证

复刻仓库

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

  1. On your enterprise, navigate to the octocat/Spoon-Knife repository.
  2. 在页面的右上角,单击 Fork(复刻)复刻按钮

要了解有关 GitHub CLI 的更多信息,请参阅“关于 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. On your enterprise, navigate to your fork of the Spoon-Knife repository.

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

  3. 要使用 HTTPS 克隆仓库,请在“Clone with HTTPS(使用 HTTPS 克隆)”下单击 . To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click . To clone a repository using GitHub CLI, click Use GitHub CLI, then click . 用于复制 URL 以克隆仓库的剪贴板图标

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

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

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

  6. 键入 git clone,然后粘贴先前复制的 URL。 它将如下所示,使用您的 GitHub AE 用户名替换 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.

要了解有关 GitHub CLI 的更多信息,请参阅“关于 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. On your enterprise, navigate to the octocat/Spoon-Knife repository.

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

  3. 要使用 HTTPS 克隆仓库,请在“Clone with HTTPS(使用 HTTPS 克隆)”下单击 . To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click . To clone a repository using GitHub CLI, click Use GitHub CLI, then click . 用于复制 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 命令使您的复刻与上游仓库保持同步。 更多信息请参阅“同步复刻”。

要了解有关 GitHub CLI 的更多信息,请参阅“关于 GitHub CLI”。

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

gh repo fork repository --remote=true

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

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

后续步骤

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

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

另找一个仓库进行复刻

复刻仓库,开始参与项目。 如果企业的策略允许复刻内部和私有仓库可以将仓库复刻到您的用户帐户或具有仓库创建权限的任何组织。 For more information, see "Roles in an organization."

祝贺

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

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

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

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

此文档对您有帮助吗?

隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或者, 了解如何参与。