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

复刻仓库

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

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

对其他人的项目提出更改

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

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

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

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

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

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

复刻示例仓库

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

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

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

让复刻保持同步

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

第 1 步:设置 Git

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

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

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

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

  2. 在仓库名称下,单击 Clone or download(克隆或下载)

    Clone or download(克隆或下载)按钮

  3. 在 Clone with HTTPs(使用 HTTPs 克隆)部分,单击 以复制仓库的克隆 URL。

    克隆 URL 按钮

  4. 打开终端终端Git Bash终端

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

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
  6. Enter 键。 将创建您的本地克隆。

    $ git clone https://github.com/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 上,导航到 octocat/Spoon-Knife 仓库。

  2. 在仓库名称下,单击 Clone or download(克隆或下载)

    Clone or download(克隆或下载)按钮

  3. 在 Clone with HTTPs(使用 HTTPs 克隆)部分,单击 以复制仓库的克隆 URL。

    克隆 URL 按钮

  4. 打开终端终端Git Bash终端

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

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

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

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

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

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

后续步骤

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

另找一个仓库进行复刻

复刻仓库,开始参与项目。 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.

For more information, see "GitHub's products."

您可以浏览 Explore 以查找项目并开始参与开源仓库。 更多信息请参阅“在 GitHub 上查找开源项目”。

祝贺

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

问问别人

找不到要找的内容?

联系我们