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

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM