开源 IMKit 修改后如何升级版本

公有云

  • Fork 仓库
    开发者需要 Fork 融云源码仓库


    Fork 后,开发者会有另外一个新的仓库。

  • 版本升级
    以 5.3.0 升级为例,开发者需要将融云仓库 5.3.0 到 5.4.0 的所有 commit 遴选到开发者自己的仓库。如果开发者升级版本跨度太大,例如 5.6.0,可以将 5.6.0 版本合并过来,将 5.3.0 版本的修改记录cherry 到 5.6.0 分支。

git add remote git@github.com:rongcloud/ios-ui-sdk-set.git
git fetch 
git cherry-pick ${commit}

这里需要跨仓库操作,可以参考不同仓库之间 cherry-pick不同仓库之间 merge

私有云

  • 创建仓库
    私有云 IMKit 源码没有对外的仓库,开发者拿到的是源码包,需要开发者自行创建仓库。

  • 修改源码
    以 5.3.3 版本为例:
    将 IMKit 5.3.3 源码提交到 rc/5.3.3 分支;
    从 rc/5.3.3 创建分支 feat/5.3.3,修改源码;
    开发者如果条件允许,可以将 feat/5.3.3 的所有修改提交一个 commit。

  • 版本升级
    以 5.6.2 为例,开发者需要从 5.3.3 升级到 5.6.2:
    从 rc/5.3.3 创建分支 rc/5.6.2
    将 IMKit 5.6.3 源码复制到项目目录,覆盖所有代码
    将修改提交到 rc/5.6.2
    从 rc/5.6.2 创建分支 feat/5.6.2
    将 feat/5.3.3 的修改源码的 commit,cherry-pick 到 feat/5.6.2
    开发者之后用 feat/5.6.2 分支。

注意:开发者修改的内容在 cherry-pick 时大概率会有冲突,根据冲突文件的提示解决即可。