Fork 一个仓库并同步

Fork 一个示例仓库

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

通常来讲,forks 被用于去更改别人的项目(贡献代码给已经开源的项目)或者使用别人的项目做为你本身想法的初始开发点。git

提出更改别人的项目github

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

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

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

使用别人的项目做为你本身想法的初始开发点spa

开源的核心是共享代码,咱们能够制做更好、更可靠的软件。命令行

事实上,当你在 GitHub 上建立一个仓库时,你能够选择自动包含一个许可文件,这个文件决定你是否但愿将你的项目分享给其余人。3d

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

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

同步你的 Fork 仓库

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

第一步:安装 Git

你首先应该 安装 Git,若是你尚未。也不要忘记 经过 Git 验证 GitHub

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

如今,你已经成功 fork Spoon-Knife 仓库,但在你本身的计算机上并无这个仓库的文件。让咱们克隆你 Fork 的代码到你本地的计算机上。

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

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

复制图标复制你 fork 的 URL

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

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

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

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

$ 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 的变化更改到你本地。

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

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

复制图标复制你 fork 的 URL

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

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

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

五、输入 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)

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

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

七、验证你 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

 

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

相关文章
相关标签/搜索