新创建项目有master分支保护,只有一定权限才能合并提交
在本地创建一个dev分支
推送上去
管理员
在dev分支上开发
add commit
git pull 同步代码,有冲突解决冲突
push 到dev分支
dev到master合并
gitlab上在项目目录下,切换到dev分支
点击 create merge request合并分支
填写title description
选择合并分支 source branch:发起合并的分支 target branch:目标分支
点击 submit merge request发起合并分支请求
合并请求
在项目左侧菜单栏merge requests可以看到发起的合并请求
opened 等待合并状态(猜测)
merged 已合并请求
closed 已拒绝合并的请求(猜测)
opened下的请求点击后进到合并处理页面
点击close merge request拒绝合并
点击merge进行合并,若勾选remove source branch则合并成功后移除发起请求的分支(猜测)
可在changes处查看代码改动情况
开发成员
fork主项目后创建个人仓库,个人仓库有master和dev分支
克隆自己的仓库到本地,本地只有master分支,在master分支上进行开发
写自己的代码,add commit
push代码前先同步主项目
同步过程:
1.配置上游项目地址
git remote add upstream 主项目地址 (upstream可任意命名)
git remote -v 可以查看配置状况
2.获取主项目更新
git fetch upstream
会提示有两个:
* [new branch] dev -> upstream/dev
* [new branch] master -> upstream/master
3.合并到本地分支
// git merge upstream/master 合并主项目master分支到本地
git merge upstream/dev 合并主项目dev分支到本地
master分支为稳定分支,开发用dev分支
4.合并后若有冲突则在本地解决冲突,解决后再 add commit push
若无冲突则 push
之后再同步主项目代码时重复2,3,4
开发者发起合并请求
在自己的仓库下,在star,fork,ssh那排点击+号,选择new merge request,把自己的master分支推送到主项目dev分支下
source branch选择自己的仓库master分支
target branch选择主项目dev分支
点击compare branches and comtinue
填写title,descripton
点submit merge request