Fork是一個複製的操做,當你Fork一個項目以後,你就有了在原項目的基礎之上進行修改和擴展的權限。git
一般狀況下,Fork操做用於參與別人的項目(成爲項目中的一員),或者以別人的項目爲基礎來開發本身的項目。github
當你使用一個開源項目的時候,若是項目中存在bug,除了能夠將bug報告項目開發人員。你也能夠經過Fork原項目,並參與進來。windows
在Github中,Fork一個開源項目主要有兩步:工具
當你Fork一個項目以後,你的項目與原項目之間就不存在聯繫了,當原項目有更新的時候,你本身Fork的項目也不會同步保持更新。爲了保持與原項目的一致,你須要使用到Git的命令行。測試
若是你沒有安裝git的客戶端,你須要先去下載git的客戶端並安裝,windows系統git下載安裝地址:http://git-scm.com/download/fetch
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爲新的遠端倉庫的別名。命令行
假設你已經完成了前三步,當原項目有更新的時候,怎麼將更新檢入到本地吶,主要是如下幾個步驟:code
git fetch upstream
命令,檢出upstream分支以及各自的更新;git checkout master
;upsteram/master
分支和master
分支,將原項目中的更改更新到本地分支,這樣就能使你的本地的fork分支與原項目保持同步,命令:git merge upstream/master
;git push
將本地分支的修改推送到遠端fork的項目;