前端基于公共框架Fork开发并定期同步的方法
背景
一个大的部门内部,统一开发了一套开发框架(工程脚手架),各个业务模块需要应用这个框架进行业务开发,但是这套开发框架又在不断的迭代,业务模块需要时不时的拉取框架的最新功能。那么采用以下介绍的这种方式就可以比较方便的实现这个功能。
解决方案
1)、Fork开发框架到个人仓库(或者项目组公共分组)
2)、修改Fork出来的项目的名称为自己的
在项目界面,左侧菜单Settings->General
修改成自己的项目命名,比如xxx-app
在Advanced部分,修改项目路径:
3)、克隆Fork出来的项目到本地
4)、查看并确定当前代码的remote信息
$ git remote -v
origin git@gitlab.supcon.com:fuhao/xxx-app.git (fetch)
origin git@gitlab.supcon.com:fuhao/xxx-app.git (push)
5)、添加源码的原仓库(公共框架仓库),作为我们本git仓库的上游
$ git remote add upstream git@gitlab.supcon.com:supplant/supplant-app-template.git
6)、添加完成后再次查看remote 信息,会显示如下:
$ git remote -v
origin git@gitlab.supcon.com:fuhao/xxx-app.git (fetch)
origin git@gitlab.supcon.com:fuhao/xxx-app.git (push)
upstream git@gitlab.supcon.com:supplant/supplant-app-template.git (fetch)
upstream git@gitlab.supcon.com:supplant/supplant-app-template.git (push)
--------这个时候,框架代码更新了,我们要拉取,并且合并到我们的master分支--------
7)、拉取源头代码到本地对应的分支
$ git fetch upstream
From gitlab.supcon.com:supplant/supplant-app-template
* [new branch] dev -> upstream/dev
* [new branch] master -> upstream/master
8)、切换到需要合并的分子(master),合并到我们本地的代码分支上,并且提交到自己的仓库
//切换到master
$ git branch
* master
//合并到我们的master分支
$ git merge upstream/master
Already up-to-date.
//提交
$ git push origin master
以后源框架有更新,就可以重复7、8两步即可,当然有可能产生代码分歧,需要先解决分歧。