玩过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