Skip to content

团队协作和版本管理

对于开发周期较长的大型项目或者行业通用产品,通常会有多人协作开发,历经数个版本,此时就需要进行合理的团队管理和版本管理,通常我们推荐使用Git,它能很方便的进行版本管理和团队协作,而SuccIDE则在其中起到桥接GitSuccBI的作用。下图是一个使用GitSuccIDE进行团队协作版本管理流程图:

team-and-version

开发前准备

  1. 安装好SuccIDE,详见SuccIDE安装
  2. 安装好Git,详见Git安装
  3. 学会Git基本使用,详细参考Git官方文档Git教程等,Git一般有两种使用方式:
    • 命令行: 原生功能,能执行所有命令,建议熟练掌握,本文也将以此形式为例进行介绍
    • GUI软件 图形化工具,操作较简单,种类很多,但一般都功能不全,只具备基本命令能力。VSCode已自带了该能力,也可以安装一些VSCode上的Git插件(如:GitLens)
  4. 准备好一个可用的SuccBI环境,确保可正常访问
  5. 准备好一个Git仓库,确保开发成员都有权访问
  6. 使用SuccIDE初始化一个开发环境,并连接上已启动的SuccBI环境,详见SuccIDE界面和配置介绍中的初始化界面SuccBI Servers——服务介绍

注意: 团队开发中,上述步骤4、5、6由项目管理者一人完成,并将配置提交至Git,其他开发人员完成1、2、3步后直接从Git仓库拉取文件后即可使用

从Git仓库拉取文件

准备就绪后,开发者需从Git远程仓库拉取文件至本地进行开发,具体过程如下:

  1. 配置公钥: 使用下述命令生成SSH key,将生成的id_rsa.pub内容添加至Gitlab上。注:该步骤仅在首次使用Git时需要,一台电脑只需配置一次。

    sh
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  2. 添加远程仓库: 其中name为仓库名称,可自定义,默认一般为originurl为仓库地址,一般用SSH URL。注:需要在一个空目录下执行,一个仓库仅需添加一次。

    sh
    git remote add [name] [url]

    该功能还可以使用clone命令完成,其等同于2、3、4步骤合并,具体命令如下:

    sh
    git clone [url]
  3. 下载文件至本地仓库: 其中name为第2步设定的仓库名,branch为指定远程分支名称,可选,不设置将拉取所有分支。

    sh
    git fetch [name] [branch]

    该功能还可以使用pull命令完成,其等同于3、4步骤合并,具体命令如下:

    sh
    git pull [name] [branch]
  4. 合并本地仓库至当前工作区: 其中branch为分支名称。

    如果工作区没有对应分支,则执行checkout命令进行新建:

    sh
    git checkout -b [branch]

    如果工作区已有对应分支,则执行merge命令进行合并:

    sh
    git merge [branch]

完成上述步骤后,用VSCode打开工作目录即可进行接下来的开发工作。

连接服务器下载文件

使用SuccIDE连接SuccBI服务器下载文件请参考SuccIDE同步

整理文件和目录结构

将服务器上文件下载后,不建议直接推送到Git仓库,尽量先自我检查是否符合基本规范,并进行调整:

不应

  1. 垃圾文件不应提交,如:临时文件、测试文件、备份文件等
  2. 文件命名不应存在copytest等字眼以及纯数字命名
  3. 文件名称、内容不应存在错别字

应该

  1. 系统默认文件应尽量不提交,如:系统自带的主题、模板等
  2. 文件命名应尽量英文风格,描述用中文风格
  3. 目录应尽量按功能模块划分
  4. 项目元数据所有目录都应有.meta文件

推送文件到Git仓库

  1. 首先提交修改至本地仓库,使用commit命令,其中message表示提交注释:

    sh
    git commit -a -m [message]

    如果想要追加到上一个提交,可使用--amend参数:

    sh
    git commit -a --amend
  2. 然后把本地仓库分支推送至远程仓库即可,使用push命令,如果需要强制推送,可使用--force参数:

    sh
    git push --force [name] [branch]

    注意:通常团队开发中,建议开发者推送至个人的远程仓库,并向中央远程仓库发起合并请求,由项目管理者进行审查后再合并至中央仓库

微信公众号微信公众号:山川软件