利用Gitlab进行代码的协作开发

0. 前提条件

Gitlab上已经存在一个repository。
利用Gitlab进行代码的协作开发_第1张图片

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

1. 远程仓库创建分支

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

依次点击BranchNew branch

利用Gitlab进行代码的协作开发_第2张图片
利用Gitlab进行代码的协作开发_第3张图片
输入Branch name后,点击Create branch。
利用Gitlab进行代码的协作开发_第4张图片

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

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

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

2.1 本地有此repository

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

输入git fetch命令,然后再输入git branch -a,可以看到远程仓库新建的分支了。
利用Gitlab进行代码的协作开发_第5张图片
接下来需要拉取远程分支并创建本地分支。使用如下命令

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

在这里插入图片描述
我们可以输入git branch -a查看一下本地分支和远程分支。
利用Gitlab进行代码的协作开发_第6张图片
可以看到,我们本地仓库已经有了dev分支,并且已经处于dev分支。

使用该方式会在本地新建分支x,并自动切换到该本地分支x。采用此种方法建立的本地分支会和远程分支建立映射关系。查看本地分支和远程分支映射关系的命令为git branch -vv
在这里插入图片描述
可以看到,本地的dev分支与远程仓库的dev分支之间存在映射关系;
本地main分支与远程仓库的main分支之间存在映射关系。

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

2.2 本地无此repository

在工作区打开git bash,将repository clone至工作区中。
利用Gitlab进行代码的协作开发_第7张图片
利用Gitlab进行代码的协作开发_第8张图片
clone完成后,进入repository。
在这里插入图片描述
输入git branch -a,可以看到远程仓库新建的dev分支。

利用Gitlab进行代码的协作开发_第9张图片

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

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

在这里插入图片描述
我们可以输入git branch -a查看一下本地分支和远程分支。
利用Gitlab进行代码的协作开发_第10张图片
可以看到,我们本地仓库已经有了dev分支,并且已经处于dev分支。

输入git branch -vv命令查看本地分支和远程分支映射关系。
在这里插入图片描述
可以看到,本地的dev分支与远程仓库的dev分支之间存在映射关系;
本地main分支与远程仓库的main分支之间存在映射关系。

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

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

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

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

然后进行代码开发。

利用Gitlab进行代码的协作开发_第12张图片
代码开发完毕后,在push至远程仓库前,输入命令git pull origin dev再次pull远程仓库
利用Gitlab进行代码的协作开发_第13张图片
最后输入git push origin dev将本地dev分支push至远程仓库中与本地dev分支存在映射关系的分支。
利用Gitlab进行代码的协作开发_第14张图片

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

4. dev合并至main分支

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

打开Gitlab的repository界面,点击Merge requests
利用Gitlab进行代码的协作开发_第15张图片
点击Creat merge request
利用Gitlab进行代码的协作开发_第16张图片
确认一下merge方向是否是dev至main,根据自己的需要填写好merge信息(下图中的信息没有进行填写),最后点击Creat merge request
利用Gitlab进行代码的协作开发_第17张图片
创建完merge request后,由Assignee决定是否接受merge request。

你可能感兴趣的