# 多人协作

支持基于主分支创建副本应用供多个开发者同时开发,各开发者可基于特性、定制化开发等场景创建子分支,开发完成后的副本应用支持组件级细粒度的合并,最终形成功能完备的主应用。

# 协作副本

当应用涉及到多个开发者共同开发时,低代码平台支持各个开发者创建协作副本进行独立的开发工作。即当存在多个开发者的情况下,各个开发者可以分别创建自己的副本应用进行独立开发工作,各自的开发互不影响,在各自开发完成后再进行副本应用之间的合并形成最终应用。

# 操作步骤

  1. 进入应用中心,单击如下图红框所示按钮,为应用创建协作副本。

    image-20220909095521800

  2. 配置协作副本相关应用信息,单击创建按钮,完成协作副本创建。

    image-20220909095645506
  3. 页面跳转至协作副本的应用详情页面,单击可视化开发按钮,即可进行协作开发。

    image-20230608143539886

  4. (可选)如需二次开发或修改协作副本信息,可重新进入应用管理,修改应用信息进入可视化开发界面进行开发。

    image-20220915144814047

# 注意事项

  • 同一应用下每个开发者只能创建 1 个协作副本。
  • 协作副本可独立进行版本备份与还原。
  • 协作副本的权限管理和主应用保持一致,即拥有主应用权限的用户可以对所有协作副本进行编辑。
  • 当存在需要多人协作开发的场景时,我们建议每个开发者各自创建 1 个协作副本,使用基于副本应用的多人协作模式,而不建议多个开发者同时对主应用进行开发,后者可能会有以下影响:
    • 开发者的开发内容互相影响,例如其他开发者删除了当前开发者正在编辑的逻辑,会导致当前开发者的操作报错。
    • 其他开发者正在进行预览发布操作时,当前开发者无法进行预览发布。
    • 在其他开发者也在进行开发情况下,若当前开发者进行预览发布,可能预览的不是应用中的最新内容。

# 分支管理

用户可基于主分支创建子分支,各分支均支持多人协作且支持分支之间的合并操作。使用CodeWave的多分支管理功能,可以实现低代码应用的多分支并行开发,包括但不限于如下需求场景:

  • 需要多个迭代版本并行开发的场景。例如6月版本未开发完毕即要开启7月版本进行开发,可通过对每个迭代版本创建发布分支实现。
  • 需要缺陷修复与功能开发独立的场景。例如应用正在进行新功能开发但新功能开发未完成,此时线上环境发现缺陷需要修复,但又不能把未完成的功能发布到线上,可通过创建独立的缺陷修复分支实现。
  • 需要多个定制版本共存的场景。例如相同的应用为多个客户开发了各自的定制版本,可通过创建多个定制分支实现。

# 操作步骤

  1. 进入应用中心,单击如下图红框所示按钮,创建子分支。

    image-20220915142434352

  2. 如下图所示,在弹出框中输入分支名称和分支描述,单击确定按钮,完成分支创建。

    image-20220915142415147

  3. 分支创建完成后,支持在应用管理界面进行查看日志、编辑分支和删除分支操作。

    • 查看日志:支持用户查看代码的拉取和推送。
    • 编辑分支:支持用户修改分支名称和分支描述。
    • 删除分支:支持用户删除分支信息。

    image-20220915142600625

    • 主分支不支持删除。
    • 当协作副本正基于该分支正在进行应用开发时,不支持删除。
    • 分支删除后,应用无法对该分支进行切换、拉取和推送操作。

# 拉取和推送

用户在编辑主应用或是协作副本时,均支持基于分支对协作仓库进行拉取和推送,完成开发内容的组件级细粒度合并。

拉取:当前应用获取协作仓库中指定分支的代码,与当前应用中的代码进行合并。

推送:开发者将当前应用中的代码推送至协作仓库的指定分支,推送内容会覆盖代码仓库中指定分支的原有内容。若协作仓库中该分支相对应用最近一次向该分支进行推送或拉取时有更新内容,则要求应用先对该分支进行拉取后再推送。

# 操作步骤

# 范例1:多人协作单分支的拉取和推送

场景:有多个开发者需要对同一个分支进行开发,已建立多个协作副本,各个协作副本开发内容相互需要完成合并。

步骤简介:开发者A完成内容编辑->开发者A推送到协作仓库->开发者B完成内容编辑->开发者B从协助仓库拉取开发者A变更内容->查看变更及冲突项,选择后完成合并->开发者B将完成合并后的内容推送到协作仓库,完成变更。

  1. 开发者A在当前应用完成内容编辑后,打开底部协作选项卡,单击主分支的推送按钮,启动推送流程,将本地开发的内容往协作仓库推送。

    image-20220919113631394

  2. 确认是否推送当前内容,推送内容将会覆盖协作仓库对应分支的原有内容。确认无误后,单击确定按钮,完成推送。

    image-20220915150457362

  3. 开发者B在当前应用完成内容编辑后,打开底部协作选项卡,单击主分支的拉取按钮,启动拉取流程,将协作仓库中其他人开发的内容和当前应用进行合并。

    分支存在更新内容时,需要先进行拉取,之后才能进行推送。

    image-20220919114429779

  4. 拉取后默认只看冲突项,如需查看细节改动,可单击查看改动项按钮。

    image-20220919114546768

  5. 可视化点选需要拉取的内容,勾选的内容会在主页面上实时展示。确认无误后,单击确认拉取按钮。

    image-20220919114839639

  6. 在弹出框中进行二次确认,确认无误后单击确定按钮,完成合并拉取。

    image-20220915152311283

  7. 单击主分支的推送按钮,将合并后的内容推送到协作仓库。

    image-20220919115026466

  8. 在弹出框中进行二次确认,确认无误后单击确定按钮,完成推送。至此,主分支的协作仓库中,已包含开发者A和开发者B本次更新内容。

    image-20220919115047105

# 范例2:多分支之间的拉取和推送

场景:用户在当前应用上开发的内容,需要同时补充到主分支和子分支。

步骤简介:当前应用完成内容编辑->推送到协作仓库主分支,完成主分支变更->切换到子分支->子分支从协助仓库拉取主分支变更内容->查看变更及冲突项,选择后完成合并->推送到子分支,完成变更。

  1. 在当前应用完成内容编辑后,打开底部协作选项卡,单击主分支的推送按钮,启动推送流程,将本地开发的内容往协作仓库推送。

    image-20220915150237840

  2. 确认是否推送当前内容,推送内容将会覆盖协作仓库对应分支的原有内容。确认无误后,单击确定按钮,完成推送。

    image-20220915150457362

  3. 如下图红框所示,将当前分支从主分支切换为特性分支-1。

    切换分支后,对于协作仓库的拉取和推送权限也会随之变更:

    • 切换到主分支:可拉取任一分支,可推送主分支。
    • 切换到子分支:可拉取当前子分支和主分支,可推送当前子分支。

    image-20220915150626764

  4. 在弹出框中确认是否切换,确认无误后单击确定按钮。

    image-20220915150713022

  5. 切换到特性分支后,单击底部协作选项卡中主分支的拉取按钮,启动拉取流程。

    image-20220915151057012

  6. 拉取后默认只看冲突项,如需查看细节改动,可单击查看改动项按钮。

    image-20220915151903805

  7. 可视化点选需要拉取的内容,勾选的内容会在主页面上实时展示。确认无误后,单击确认拉取按钮。

    image-20220915152222477

  8. 在弹出框中进行二次确认,确认无误后单击确定按钮,完成合并拉取。

    image-20220915152311283

  9. 单击特性分支-1的推送按钮,将合并后的内容推送到协作仓库。

    image-20220915173248771

  10. 在弹出框中进行二次确认,确认无误后单击确定按钮,完成推送。至此,主分支和特性分支-1的协作仓库中,均已包含本次更新内容。

    image-20220915173418567

# 注意事项

切换分支过程中不允许进行操作。

上次更新: 2023年06月26日