# 团队协作和版本管理

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

team-and-version

# 开发前准备

  1. 安装好SuccIDE,详见SuccIDE安装
  2. 安装好Git,详见Git安装 (opens new window)
  3. 学会Git基本使用,详细参考Git官方文档 (opens new window)Git教程 (opens new window)等,Git一般有两种使用方式:
    • 命令行: 原生功能,能执行所有命令,建议熟练掌握,本文也将以此形式为例进行介绍
    • GUI软件 (opens new window) 图形化工具,操作较简单,种类很多,但一般都功能不全,只具备基本命令能力。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时需要,一台电脑只需配置一次。

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

    git remote add [name] [url]
    

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

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

    git fetch [name] [branch]
    

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

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

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

    git checkout -b [branch]
    

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

    git merge [branch]
    

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

# 连接服务器下载文件

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

# 整理文件和目录结构

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

不应

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

应该

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

# 推送文件到Git仓库

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

    git commit -a -m [message]
    

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

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

    git push --force [name] [branch]
    

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

是否有帮助?
0条评论
评论