多人协作开发规范
以下开发流程以 fleet - dashboard 为例
一、前往 GitLab Fork 项目主仓库至个人命名空间。完成后请将个人命名空间下面的项目分支权限全部设置为非保护分支
二、克隆项目至本地
git clone git@gitlab-rd.niucache.com:xiaozheng.zhang/fleet-dashboard.git
三、增加远程仓库 remote 地址
git remote -v git remote add upstream git@gitlab-rd.niucache.com:open/fleet-dashboard.git
四、开发新功能
保证本地 master 与 upstream / master 一致
git checkout master git fetch upstream && git reset --hard upstream/master git checkout -b feature-XXX git push --set-upstream origin feature-XXX // 把分支提交到自己到仓库
开发测试流程
保证本地 release 与 upstream / release 一致
合并代码 && 解决冲突 && 提交代码
完成后前往 GitLab 提交合并申请至 upstream / release
git add . git commit -m 'feature-XXX' git checkout release git fetch upstream && git reset --hard upstream/release git merge feature-XXX git push origin
上线流程
保证本地 production 与 upstream / master 一致
合并代码 && 解决冲突 && 提交代码
完成后前往 GitLab 提交合并申请至 upstream / master
git checkout master git fetch upstream && git reset --hard upstream/master git merge feature-XXX git push origin
权限控制
本方案开始实施后 upstream 仓库所有分支关闭 push 权限。所有代码合并操作请使用 merge request 方式