我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

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

复刻仓库

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

本文内容

复刻最常见的用法是对其他人的项目提出更改或将其他人的项目用作自己创意的起点。

对其他人的项目提出更改

使用复刻提议更改的典型实例是用于漏洞修复。 无需为您发现的漏洞创建议题,您可以:

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

如果项目所有者欣赏您的工作,他们可能会将您的修复拉取到原始仓库!

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

开源的核心理念是通过共享代码,开发更好、更可靠的软件。

从其他人的项目复刻创建公共仓库时,请确保包含许可文件以确定您希望与其他人共享项目。

For more information on open source, specifically how to create and grow an open source project, we've created Open Source Guides that will help you foster a healthy open source community by recommending best practices for creating and maintaining repositories for your open source project. You can also take a free GitHub Learning Lab course on maintaining open source communities.

复刻示例仓库

复刻仓库是一个简单的两步过程。 我们创建了一个供您练习的仓库!

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

搞定! 现在,您拥有了原始 octocat/Spoon-Knife 仓库的复刻

让复刻保持同步

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

第 1 步:设置 Git

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

第 2 步:创建复刻的本地克隆

现在,您有了 Spoon-Knife 仓库的复刻,但您的计算机上还没有该仓库中的文件。 让我们在计算机上本地创建复刻的克隆

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

  2. Under the repository name, click Clone or download.

    克隆或下载按钮

  3. To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key click Use SSH, then click .

    Clone URL button

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

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

    $ git clone https://主机名/YOUR-USERNAME/Spoon-Knife
  6. 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.

现在,您有了 Spoon-Knife 仓库复刻的本地副本!

第 3 步:配置 Git 以将您的复刻与原始 Spoon-Knife 仓库同步

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

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

  2. Under the repository name, click Clone or download.

    克隆或下载按钮

  3. To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key click Use SSH, then click .

    Clone URL button

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

  5. 将目录更改为您在第 2 步:创建复刻的本地克隆中克隆复刻的位置。

    • 要转到主目录,请只键入 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 命令使您的复刻与上游仓库保持同步。 更多信息请参阅“同步复刻”。

后续步骤

对复刻的更改没有任何限制,包括:

  • Creating branches: Branches allow you to build new features or test out ideas without putting your main project at risk.
  • 打开拉取请求:如果您希望回馈原始仓库,您可以通过提交拉取请求请求原作者将您的复刻拉取到他们的仓库。

另找一个仓库进行复刻

复刻仓库,开始参与项目。 You can fork any public repository to your user account or any organization in which you have repository creation permissions. 更多信息请参阅“组织的权限级别”。

You can fork any private repository you can access to your user account or any organization on GitHub Team or GitHub Enterprise in which you have repository creation permissions.

祝贺

您现在已经复刻了仓库、练习了克隆复刻并配置了上游仓库。 接下来您要做什么?

问问别人

找不到要找的内容?

联系我们