# 团队协作和版本管理
对于开发周期较长的大型项目或者行业通用产品,通常会有多人协作开发,历经数个版本,此时就需要进行合理的团队管理和版本管理,通常我们推荐使用Git (opens new window),它能很方便的进行版本管理和团队协作,而SuccIDE
则在其中起到桥接Git
与SuccBI
的作用。下图是一个使用Git
和SuccIDE
进行团队协作版本管理流程图:
# 开发前准备
- 安装好SuccIDE,详见SuccIDE安装
- 安装好Git,详见Git安装 (opens new window)
- 学会Git基本使用,详细参考Git官方文档 (opens new window)、Git教程 (opens new window)等,Git一般有两种使用方式:
- 命令行: 原生功能,能执行所有命令,建议熟练掌握,本文也将以此形式为例进行介绍
- GUI软件 (opens new window): 图形化工具,操作较简单,种类很多,但一般都功能不全,只具备基本命令能力。
VSCode
已自带了该能力,也可以安装一些VSCode
上的Git
插件(如:GitLens
)
- 准备好一个可用的SuccBI环境,确保可正常访问
- 准备好一个Git仓库,确保开发成员都有权访问
- 使用SuccIDE初始化一个开发环境,并连接上已启动的SuccBI环境,详见SuccIDE界面和配置介绍中的
初始化界面
与SuccBI Servers——服务
介绍
注意: 团队开发中,上述步骤4、5、6由项目管理者一人完成,并将配置提交至Git,其他开发人员完成1、2、3步后直接从Git仓库拉取文件后即可使用
# 从Git仓库拉取文件
准备就绪后,开发者需从Git远程仓库拉取文件至本地进行开发,具体过程如下:
配置公钥: 使用下述命令生成SSH key,将生成的id_rsa.pub内容添加至Gitlab上。注:该步骤仅在首次使用Git时需要,一台电脑只需配置一次。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
添加远程仓库: 其中
name
为仓库名称,可自定义,默认一般为origin
,url
为仓库地址,一般用SSH URL。注:需要在一个空目录下执行,一个仓库仅需添加一次。git remote add [name] [url]
该功能还可以使用
clone
命令完成,其等同于2、3、4步骤合并,具体命令如下:git clone [url]
下载文件至本地仓库: 其中
name
为第2步设定的仓库名,branch
为指定远程分支名称,可选,不设置将拉取所有分支。git fetch [name] [branch]
该功能还可以使用
pull
命令完成,其等同于3、4步骤合并,具体命令如下:git pull [name] [branch]
合并本地仓库至当前工作区: 其中
branch
为分支名称。如果工作区没有对应分支,则执行
checkout
命令进行新建:git checkout -b [branch]
如果工作区已有对应分支,则执行
merge
命令进行合并:git merge [branch]
完成上述步骤后,用VSCode
打开工作目录即可进行接下来的开发工作。
# 连接服务器下载文件
使用SuccIDE连接SuccBI服务器下载文件请参考SuccIDE同步
# 整理文件和目录结构
将服务器上文件下载后,不建议直接推送到Git仓库,尽量先自我检查是否符合基本规范,并进行调整:
不应
- 垃圾文件不应提交,如:临时文件、测试文件、备份文件等
- 文件命名不应存在
copy
、test
等字眼以及纯数字命名 - 文件名称、内容不应存在错别字
应该
- 系统默认文件应尽量不提交,如:系统自带的主题、模板等
- 文件命名应尽量英文风格,描述用中文风格
- 目录应尽量按功能模块划分
- 项目元数据所有目录都应有
.meta
文件
# 推送文件到Git仓库
首先提交修改至本地仓库,使用
commit
命令,其中message
表示提交注释:git commit -a -m [message]
如果想要追加到上一个提交,可使用
--amend
参数:git commit -a --amend
然后把本地仓库分支推送至远程仓库即可,使用
push
命令,如果需要强制推送,可使用--force
参数:git push --force [name] [branch]
注意:通常团队开发中,建议开发者推送至个人的远程仓库,并向中央远程仓库发起合并请求,由项目管理者进行审查后再合并至中央仓库