github-fork-update

优质
小牛编辑
126浏览
2023-12-01

fork

玩过github的人一定会在你自己的账号上fork了一些github开源项目。这些开源项目往往更新比较活跃,你今天fork用到你自己的项目中去了,过几个星期这个forkorigin可能有一些bugfix了,你怎么办呢?

当然直接到Origin repo中去clone是一个方法,但是githubpublic repo有可能过一段时间就被作者删除了,你是否希望在origin即使已经被删除的情况下,你的账号下依然有你钟情的repo

解决上面的问题,最好的方法就是不定时地将origincommit sync到你自己的fork repo中,一方面能够保持鲜活,另一方面有备无患。

那么如何sync呢?有以下几种方案:

clone

一种是你直接在本地clone的repo中,pull upstrame,做好merge,随后push到你自己的fork repo中。

github

另外还有一种更加简便聪明的方法:只需在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;

Comparing changes

5.点击create a pull request for this comparison,这时将会反过来向你的repo提交一个pull request;

6.这时你作为你自己fork的repo的owner,你就可以点击confirm the merge,合并同步完成!

使用git命令

git remote add upstream <pathtooriginalrepo>

git fetch upstream

git merge upstream/master master

git push origin master