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

 

豆電雨 -- 摘自極客學院。

相關文章
相關標籤/搜索