玩過github的人必定會在你本身的帳號上fork了一些github開源項目。這些開源項目每每更新比較活躍,你今天fork用到你本身的項目中去了,過幾個星期這個fork的origin可能有一些bugfix了,你怎麼辦呢?固然直接到Origin repo中去clone是一個方法,可是github的public repo有可能過一段時間就被做者刪除了,你是否但願在origin即便已經被刪除的狀況下,你的帳號下依然有你鍾情的repo?git
解決上面的問題,最好的方法就是不定時地將origin的commit sync到你本身的fork repo中,一方面可以保持鮮活,另外一方面有備無患。那麼如何sync呢?又有幾種方案,一種是你直接在本地clone的repo中,pull upstrame,作好merge,隨後push到你本身的fork repo中。另外還有一種更加簡便聰明的方法:只需在github網站上點幾個鼠標,不用本地開發環境輕鬆搞定:github
1.打開你的github fork repo;fetch
2.點擊Pull request;網站
3.點擊new pull request.默認狀況下,github會比較original/your fork,這時應該不會有任何輸出,由於你並無作過任何變動;this
4.點擊switching the base.這時github將反過來比較yourfork/original,這時你將看到original相對你fork時的全部commit;spa
5.點擊create a pull request for this comparison,這時將會反過來向你的repo提交一個pull request;.net
6.這時你做爲你本身fork的repo的owner,你就能夠點擊confirm the merge,大筆一揮,全部的改動都被你一網打盡了@!開發
enjoy it!rem
附上比較費勁的另一種更新辦法:get
git remote add upstream <pathtooriginalrepo>
git fetch upstream
git merge upstream/master master
git push origin master