0. 前提条件

Gitlab上已经存在一个repository。

若Gitlab上没有repository,可以自己创建一个。

1. 远程仓库创建分支

为了保证main分支不被污染,需要创建一个dev分支。(无论是否需要多人协作开发,最好都使用分支功能,main分支用于存储稳定版本,dev分支用于开发新功能)

依次点击BranchNew branch



输入Branch name后,点击Create branch。

2. 拉取远程仓库的(分支/代码及分支)至本地

由于此项目需要多人协作开发,因此不同开发人员会面临不同的情况:

  1. 本地有此repository,需要拉取远程仓库的dev分支
  2. 本地无此repository,需要拉取远程仓库的代码及dev分支。

2.1 本地有此repository

在本地repository打开git bash,并输入git branch -a,发现并没有Gitlab上新建的分支,这是因为本地仓库和远程仓库本质上时完全独立的,想在本地看见远程仓库的信息就应该fetch一下远程的信息

输入git fetch命令,然后再输入git branch -a,可以看到远程仓库新建的分支了。

接下来需要拉取远程分支并创建本地分支。使用如下命令

git checkout -b [本地分支名x] [shortname/远程分支名x]


我们可以输入git branch -a查看一下本地分支和远程分支。

可以看到,我们本地仓库已经有了dev分支,并且已经处于dev分支。

使用该方式会在本地新建分支x,并自动切换到该本地分支x。采用此种方法建立的本地分支会和远程分支建立映射关系。查看本地分支和远程分支映射关系的命令为git branch -vv

可以看到,本地的dev分支与远程仓库的dev分支之间存在映射关系;
本地main分支与远程仓库的main分支之间存在映射关系。

建立映射关系的好处是:使用git pull或者git push时就不必每次都要指定从远程的哪个分支拉取合并和推送到远程的哪个分支。

2.2 本地无此repository

在工作区打开git bash,将repository clone至工作区中。


clone完成后,进入repository。

输入git branch -a,可以看到远程仓库新建的dev分支。

接下来需要拉取远程分支并创建本地分支。使用如下命令

git checkout -b [本地分支名x] [shortname/远程分支名x]


我们可以输入git branch -a查看一下本地分支和远程分支。

可以看到,我们本地仓库已经有了dev分支,并且已经处于dev分支。

输入git branch -vv命令查看本地分支和远程分支映射关系。

可以看到,本地的dev分支与远程仓库的dev分支之间存在映射关系;
本地main分支与远程仓库的main分支之间存在映射关系。

建立映射关系的好处是:使用git pull或者git push时就不必每次都要指定从远程的哪个分支拉取合并和推送到远程的哪个分支。

3. 在dev分支进行协作开发

将远程仓库的代码及分支拉取至本地后,可以开始进行代码开发工作。

多人协作开发时,每个开发者都会push自己的代码至远程仓库中,因此在进行代码开发前,需要先输入git pull [remote] [branch]命令,获取远程仓库与本地 [branch]分支存在映射关系的分支的最新代码。

然后进行代码开发。


代码开发完毕后,在push至远程仓库前,输入命令git pull origin dev再次pull远程仓库

最后输入git push origin dev将本地dev分支push至远程仓库中与本地dev分支存在映射关系的分支。

关键点在于:本地开发前需要先pull一下远程仓库的代码,本地push前也需要pull一下远程仓库的代码。

4. dev合并至main分支

dev分支的代码经过检验后没问题,即可以合并至main分支。

打开Gitlab的repository界面,点击Merge requests

点击Creat merge request

确认一下merge方向是否是dev至main,根据自己的需要填写好merge信息(下图中的信息没有进行填写),最后点击Creat merge request

创建完merge request后,由Assignee决定是否接受merge request。

利用Gitlab进行代码的协作开发相关推荐

  1. 利用git 进行多人协作开发

    现在,大部分项目都是用 git 来管理代码的,但当项目变大.多人协作时,git 的使用就变得复杂了,这时就需要在 git 使用的流程上来思考如何更优的使用 git. 对于大部分 web 项目而言,并不 ...

  2. 利用GitLab对代码的Merge进行事前管理

    作为开发,CodeReview是一个绕不过去的事情,但每次问到如何做CodeReview这个事情,答案大同小异:"抽时间对主要代码进行检查"."组织会议大家一起检查&qu ...

  3. Git实战技巧-多人协作开发出现代码冲突,如何合并代码

    Git实战技巧-多人协作开发出现代码冲突,如何合并代码 1.企业场景 小智和小黑两个人交叉修改同一个文件,这个时候小智修改完提交.问题来了,如果小智提交成功,那么就相当于忽略了小黑提交的内容.这个时候 ...

  4. 群晖NAS教程(十六)、利用Docker安装GitLab管理代码工具

    为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客 群晖NAS教程(十六).利用Docker安装GitLab管理代码工具 群晖DSM上安装GitLab有两种方式,一种是直接在群晖套件上安装,另一种是 ...

  5. 群晖 root_群晖多人协作开发

    群晖多人协作开发 1.导语 最近回到学校,需要把群晖的git server整一下,顺便自己记录一下.具体如下: 使用群晖NAS搭建一个git server,其实搭建git server还是贼简单,那在 ...

  6. 团队开发-CodePlex的工作模式和团队协作开发

    CodePlex的工作模式和团队协作开发 在CodePlex上合作开发开源项目,实际上就是一个协同开发的过程. 在CodePlex建立了一个Project后,在TFS(Team Foundation ...

  7. 网页版Rstudio︱RStudio Server多人在线协作开发

    网页版Rstudio︱RStudio Server多人在线协作开发 想了解一下RStudio Server,太给力的应用,可以说成是代码分布式运行,可以节省时间,放大空间. RStudio是一个非常优 ...

  8. 18 款低代码平台!开发解放双手

    低代码成了企追求的主流目标,与使用计算机编程语言构建应用程序的传统方法不同,低代码开发平台是使用图形向导来创建和构建软件的应用程序开发平台.因此,在许多情况下,低代码或无代码(几乎没有代码)这个名称是 ...

  9. 如何使用Git进行团队协作开发

    点击上方蓝色"飞雪无情"关注我,设个星标,第一时间看文章 在团队协作开发中,Git已经越来越流行,如果你不懂Git,那么就很难参与到团队的协作开发中. 除了公司内部的协作开发,如果 ...

最新文章

  1. 改变jupyter notebook的主题背景颜色
  2. mysql 错误记录
  3. 树莓派分辨率调整(含官方默认和kali系统)
  4. 转:“401 - 未授权:由于凭据无效,访问被拒绝”在iis的解决办法
  5. 由C过渡到C++-入门知识点
  6. LESS----CSS预处理语言
  7. Navicat Premium11连接Oracle出现ORA-28547:connection to server failed
  8. Python借助smote实现不均衡样本数据的上采样和下采样,并可视化展示样本分布
  9. SBUS调试助手 sbus解析,sbus协议
  10. 流量清洗是什么意思?
  11. 练习京东顶部导航条、背景、渐变、按钮练习(雪碧图)、渐变
  12. Excel一点击编辑就程序卡死
  13. 特征根法求微分方程的解
  14. 本地电脑安装虚拟机-解决USB驱动报错(代码 39)问题
  15. 培训linux系统下载,非常好的Linux培训教程集合下载
  16. Python3 打印26个英文字母
  17. linux驱动:二、LED灯驱动编写
  18. GlobalSign是什么,其中的ssl证书类型有哪些
  19. 光纤交换机后台linux,更换光纤交换机的步骤详解
  20. stata合并多张箱线图的命令

热门文章

  1. 手机号码归属地查询免费api接口代码
  2. DSP6678 RapidIO基本原理之二——RapidIO协议结构及包格式
  3. 用mpg123播放https协议的URL MP3
  4. 在Windows环境下使用与Linux/Unix操作相关的C/C++头文件的方法(以TDM-GCC和CLion为例)
  5. 大冒险 这注定是部史诗级的探索。。。
  6. 基于RoCE v1配置PFC
  7. 社交电商成为下一个风口,社交电商怎么做?
  8. 教程 | 如何使用U盘制作启动盘重装Windows系统?
  9. 直播系统开发直播源码搭建流程分享!
  10. linux安全基线检查内容