如何直接在github網站上更新你fork的repo?

世有因果知因求果發表於2015-05-24

玩過github的人一定會在你自己的賬號上fork了一些github開源專案。這些開源專案往往更新比較活躍,你今天fork用到你自己的專案中去了,過幾個星期這個fork的origin可能有一些bugfix了,你怎麼辦呢?當然直接到Origin repo中去clone是一個方法,但是github的public repo有可能過一段時間就被作者刪除了,你是否希望在origin即使已經被刪除的情況下,你的賬號下依然有你鍾情的repo?

解決上面的問題,最好的方法就是不定時地將origin的commit sync到你自己的fork repo中,一方面能夠保持鮮活,另一方面有備無患。那麼如何sync呢?又有幾種方案,一種是你直接在本地clone的repo中,pull upstrame,做好merge,隨後push到你自己的fork repo中。另外還有一種更加簡便聰明的方法:只需在github網站上點幾個滑鼠,不用本地開發環境輕鬆搞定:

1.開啟你的github fork repo;

2.點選Pull request;

3.點選new pull request.預設情況下,github會比較original/your fork,這時應該不會有任何輸出,因為你並沒有做過任何變更;

4.點選switching the base.這時github將反過來比較yourfork/original,這時你將看到original相對你fork時的所有commit;

5.點選create a pull request for this comparison,這時將會反過來向你的repo提交一個pull request;

6.這時你作為你自己fork的repo的owner,你就可以點選confirm the merge,大筆一揮,所有的改動都被你一網打盡了@!

enjoy it!

 

附上比較費勁的另外一種更新辦法:

git remote add upstream <pathtooriginalrepo>

git fetch upstream

git merge upstream/master master

git push origin master

相關文章