Github上经典的fork+pull request模式可以很容易的让你参加到github上的开源项目,但是,如果主项目有更新,这个时候怎么把主项目的更新合并到自己Fork的版本中呢?到目前为止,github没提供一个按钮来完成这个功能。
下面我以druid(https://github.com/AlibabaTech/druid)来做一个git update fork的示范。
首先先fork druid到自己的github中。
克隆到自己本地的计算机。(read only)
用git clone git@github.com:luffyke/druid.git for write and read access
这里我添加了一个叫kxt的远程仓库。
接下来我们要用git fetch命令从远程仓库抓去数据到本地,fetch命令会到远程仓库中拉取本地仓库中还没有的数据,运行完成后,我们就可以在本地访问远程仓库的所有分支。
接下来就是将拉取的数据合并到本地来。
擦,数据太多了,把屏幕填满了。 git merge kxt/master 这里的命令后面的仓库为 远程仓库/分支,需要注意的是这个。如果使用tortoiseGit也需要仔细选择 仓库,不然选择错了就不会merge了。
这样你本地的仓库就是最新的了。
如果想让github上fork的项目也保持最新,可以用git push origin master命令更新版本库。