发布时间:2022-12-01 19:00
若Gitlab上没有repository,可以自己创建一个。
为了保证main分支不被污染,需要创建一个dev分支。(无论是否需要多人协作开发,最好都使用分支功能,main分支用于存储稳定版本,dev分支用于开发新功能)
依次点击Branch
→New branch
。
输入Branch name后,点击Create branch。
由于此项目需要多人协作开发,因此不同开发人员会面临不同的情况:
在本地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时就不必每次都要指定从远程的哪个分支拉取合并和推送到远程的哪个分支。
在工作区打开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时就不必每次都要指定从远程的哪个分支拉取合并和推送到远程的哪个分支。
将远程仓库的代码及分支拉取至本地后,可以开始进行代码开发工作。
多人协作开发时,每个开发者都会push自己的代码至远程仓库中,因此在进行代码开发前,需要先输入git pull [remote] [branch]
命令,获取远程仓库与本地 [branch]
分支存在映射关系的分支的最新代码。
然后进行代码开发。
代码开发完毕后,在push至远程仓库前,输入命令git pull origin dev
再次pull远程仓库
最后输入git push origin dev
将本地dev分支push至远程仓库中与本地dev分支存在映射关系的分支。
关键点在于:本地开发前需要先pull一下远程仓库的代码,本地push前也需要pull一下远程仓库的代码。
dev分支的代码经过检验后没问题,即可以合并至main分支。
打开Gitlab的repository界面,点击Merge requests
。
点击Creat merge request
。
确认一下merge方向是否是dev至main,根据自己的需要填写好merge信息(下图中的信息没有进行填写),最后点击Creat merge request
。
创建完merge request后,由Assignee
决定是否接受merge request。