Github中Fork和更新原做者的修改

在Github遇到好的源代碼工程,通常咱們能夠用Fork把庫Clone到本身的空間中,而後進行修改。html

可是再過一段時間後,原做者對其工程進行了修改,咱們的版本已經落後於主版本了,這時但願能將其更新合併過來,怎麼作呢?git

一個辦法是在原始網站中建立一個pull request,將本身的庫做爲目標。這個常常有合併失敗的狀況。github

還有一個辦法是拉取到本地進行合併,再推送上去。由於能夠在本地進行修改,因此比較靈活。
shell

譬如,我在[https://github.com/skyswind/GIScript.git]上經過Github.com網站頁面Fork到本身的空間。工具

而後,在本地經過命令行工具取到本地目錄中,以下。
fetch

git clone https://github.com/supergis/GIScript.git

按照以下步驟操做便可:網站

echo "Merge git from upstream..."
echo "指定遠程的源。"
git remote add upstream https://github.com/skyswind/GIScript.git

echo "獲取遠程源的更新。"
git fetch upstream

echo "合併到本地庫中。"
git merge upstream/master

echo "提交到本地版本庫中。"
git commit -a -m "merged upstream."

echo "推送提交到本身的github庫中。"
git push

echo "Merge upstream finished."



若是本身的修改但願貢獻到主版本中,只須要在本身的工程頁面發起一個pull request便可(是否合併進去,要看人家的意思哦)。命令行

詳細的分支管理策略見這裏:http://www.ruanyifeng.com/blog/2012/07/git.htmlhttp://www.ruanyifeng.com/blog/2012/07/git.htmlcode

相關文章
相關標籤/搜索