Fork一個Repo
Fork是一個復制的操作,當你Fork一個項目之后,你就有了在原項目的基礎之上進行修改和擴展的權限。
通常情況下,Fork操作用於參與別人的項目(成為項目中的一員),或者以別人的項目為基礎來開發自己的項目。
當你使用一個開源項目的時候,如果項目中存在bug,除了可以將bug報告項目開發人員。你也可以通過Fork原項目,並參與進來。
- 首先,Fork原項目,並將項目代碼更新到你的本地;
- 其次,修復項目中的bug,並確認問題已修復;
- 最后,如果一切測試都沒有問題,你就可以提交一個pull request給項目所有人,如果項目所有者認可你的代碼,他就會將你的修改更新到原項目中;
在Github中,Fork一個開源項目主要有兩步:
- 查找到你想要Fork的項目;
- 點擊項目介紹頁面右上角的Fork;
保持同步
當你Fork一個項目之后,你的項目與原項目之間就不存在聯系了,當原項目有更新的時候,你自己Fork的項目也不會同步保持更新。為了保持與原項目的一致,你需要使用到Git的命令行。
第一步 安裝git客戶端
如果你沒有安裝git的客戶端,你需要先去下載git的客戶端並安裝,windows系統git下載安裝地址:http://git-scm.com/download/
第二步 clone你fork的項目
- fork一個項目, 官方示例:https://github.com/octocat/Spoon-Knife;
- 使用git命令行clone項目:
git clone git@github:[yourname]/Spoon-knife
第三步 添加新的遠程倉庫地址
當你clone完一個項目,可以使用git remote -v
來查看你fork的遠程倉庫的地址;默認的clone操作完成后,遠端倉庫的地址別名為:origin
,為了需要與原項目保持更新,你還需要將原項目地址給添加進來,使用命令:git remote add upstream git@github.com:octocat/Spoon-Knife.git
可以添加遠端倉庫地址,其中upstream為新的遠端倉庫的別名。
第四步 同步更新
假設你已經完成了前三步,當原項目有更新的時候,怎么將更新檢入到本地吶,主要是以下幾個步驟:
- 打開git命令行工具;
- 進入項目本地路徑;
- 執行
git fetch upstream
命令,檢出upstream分支以及各自的更新; - 切換到你的本地分支主干:
git checkout master
; - 合並
upsteram/master
分支和master
分支,將原項目中的更改更新到本地分支,這樣就能使你的本地的fork分支與原項目保持同步,命令:git merge upstream/master
; - 執行
git push
將本地分支的修改推送到遠端fork的項目;