zoukankan      html  css  js  c++  java
  • Fork 一个仓库并同步

    Fork 一个示例仓库

    Fork 是对一个仓库的克隆。克隆一个仓库允许你自由试验各种改变,而不影响原始的项目。

    一般来说,forks 被用于去更改别人的项目(贡献代码给已经开源的项目)或者使用别人的项目作为你自己想法的初始开发点。

    提出更改别人的项目

    使用 forks 提出改变的一个很好的例子是漏洞修复。与其记录一个你发现的问题,不如:

    • Fork 这个仓库
    • 进行修复
    • 向这个项目的拥有者提交一个 pull requset

    如果这个项目的拥有者认同你的成果,他们可能会将你的修复更新到原始的仓库中!

    使用别人的项目作为你自己想法的初始开发点

    开源的核心是共享代码,我们可以制作更好、更可靠的软件。

    事实上,当你在 GitHub 上创建一个仓库时,你可以选择自动包含一个许可文件,这个文件决定你是否希望将你的项目分享给其他人。

    Fork 一个仓库分为简单的两步。我们已经创建了一个仓库让你用于练习!

    1. 在 GitHub 上,定位到 octocat/Spoon-Knife 仓库。
    2. 在页面右上角,点击 Fork 按钮。

    同步你的 Fork 仓库

    你或许已经 fork 一个项目为了提交更改向 upstream 或原始仓库。这种情况下,很好的实现了将 upstream 仓库定期同步到你的 fork。要做到这一点,你需要在命令行中使用 Git。你可以使用你刚刚 fork 的 octocat/Spoon-Knife 仓库去练习设置 upstream 仓库。

    第一步:安装 Git

    你首先应该 安装 Git,如果你还没有。也不要忘记 通过 Git 验证 GitHub

    第二步:为你 fork 的仓库创建一个本地克隆

    现在,你已经成功 fork Spoon-Knife 仓库,但在你自己的计算机上并没有这个仓库的文件。让我们克隆你 Fork 的代码到你本地的计算机上。

    1、在 GitHub 上,定位到你 fork 的 Spoon-Knife 仓库。

    2、在你 fork 的仓库页面的右侧边栏,点击复制图标复制你 fork 的 URL。

    复制图标复制你 fork 的 URL

    3、打开 Terminal 命令(针对苹果系统用户)或者命令提示行(针对 Windows 和 Linux 用户)。

    4、输入 git clone,然后粘贴在步骤 2 复制的 URL。它看起来就像如下所示,用你 GitHub 的用户名代替 YOUR-USERNAME:

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife

    5、按下 回车键 ,你的本地克隆就创建了。

    $ 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.

    现在,你已经有了针对你 fork 的 Spoon-Knife 仓库的本地克隆代码!

    第三步:通过配置 Git 来同步你 fork 的原始 Spoon-Knife 仓库

    当你 fork 一个项目是为了提出更改这个原始的仓库,你可以配置 Git 将原始的或者 upstream 的变化更改到你本地。

    1、在 GitHub 上,定位到 octocat/Spoon-Knife 仓库。

    2、在这个仓库页面的右侧边栏,点击复制图标复制这个仓库的 URL。

    复制图标复制你 fork 的 URL

    3、打开 Terminal 命令(针对 Mac 用户)或提示命令行(Windows 和 Linux 用户)。

    4、更改到你在步骤 2(创建一个本地)创建的你的 fork 的本地的目录。

    1. 回到根目录,只输入 cd
    2. 输入 ls,列出当前目录的文件和文件夹。
    3. 输入 cd 目录名”进入你输入的目录下。
    4. 输入 cd .. 回到上一目录。

    5、输入 git remove -v,按下回车键,你将会看到你的 fork 当前配置的远程仓库:

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

    6、输入 git remote add upstream,然后粘贴你在步骤 2 复制的 URL 并按下回车键。它看起来如下所示:

    $ git remote add upstream https://github.com/octocat/Spoon-Knife.git

    7、验证你 fork 里新指明的这个 upstream 仓库,再次输入 git remote -v。你将会看到你 fork 的 URL 作为原始的地址,而原始的仓库的 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)

    现在,你可以保持你的 fork 与 upstream 的仓库的同步,利用几个 Git 命令。想知道更多信息,请参阅 Syncing a fork

    豆电雨 -- 摘自极客学院。

  • 相关阅读:
    Path Sum II
    Convert Sorted Array to Binary Search Tree
    Construct Binary Tree from Inorder and Postorder Traversal
    Construct Binary Tree from Preorder and Inorder Traversal
    Maximum Depth of Binary Tree
    Binary Tree Zigzag Level Order Traversal
    Binary Tree Level Order Traversal
    Same Tree
    Validate Binary Search Tree
    Binary Tree Inorder Traversal
  • 原文地址:https://www.cnblogs.com/starainDou/p/4643809.html
Copyright © 2011-2022 走看看