victor
发布于

关于Aiinone-IDE APP工程项目代码版本管理说明

Aiinone-IDE APP 工程项目代码版本管理推荐工具

  • Git【推荐】
  • SVN

Aiinone-IDE APP 工程项目代码存在的问题

  1. 有序列表当分享 APP 层代码采用给其它团队成员使用时(native 和。template 的。git 不存在情况下),第一次完全编译时候,代码冲突过多,用户体验差;
  2. 如 APP 层代码采用 Git 做代码版本管理,由于工程内部存在内部 Git 仓库,所以导致需要 submoudle 或 repo 才能完美,导致使用难度太高;
  3. 如 APP 层代码采用 SVN 做代码版本管理,由于工程内部存在内部 Git 仓库,所以导致 Git 部分 binary 数据无法正常 merge,导致多人协同开发数据无法完美同步;

【Git 管理】解决方案

  1. 在提交[commit]仓库管理前,请先删掉 native 和。template 下的。git 目录,如图所示

  2. 添加无需版本管理的文件到。gitignore【如有需要】

  3. 在 native 添加。gitattributes 文件【在附件】,此文件仅在 native 目录下。git 不存在条件下生效,为解决上述问题 1;
    文件解析

#
#strategy :recursive/confict-theirs/confict-ours
#recursive : git default mode, the user needs to handle it manually when there is a conflict.
#confict-theirs : using theirs version file
#confict-ours : using ours version file
#
######################################
#define auto merge code strategy
#include/inonectrl/rpc folder using ai generate code by default
#userctrl using user code version
######################################
include/* merge=confict-theirs
inonectrl/* merge=confict-theirs
rpc/**/* merge=confict-theirs
userctrl/* merge=confict-ours 

######################################
#define don't auto merge code
#define some exception case when user modify ai generate code
#如果用户修改了ai generate code区域的代码,需要按下面规则处理
######################################
include/hxn_launcheractivity.h merge=confict-ours
inonectrl/hxn_launcheractivity.cpp merge=confict-ours
  1. 确认 inone-sdk\tools\inone_codegen.exe 版本为 1.0.1.0 以上

按上面的步骤检查后,再通过 Git 版本管理工具分享代码给同团队成员使用时,就不会再出现团队其它成员下载代码后全编译导致一堆代码冲突。

【SVN 管理】解决方案

只是 SVN 本身相关的管理流程不一样,其它可以 follow【Git 管理】解决方案步骤。

特别注意:
1. 当团队成员第一次下载代码后,请先执行一次全编译,以便 Aiinone-IDE 准备好所有环境;
2. 再进行代码编辑和 UI 调整等动作;

浏览 (138) 点赞 收藏 分享
评论