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


    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]
    
    • 1

    在这里插入图片描述
    我们可以输入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]
    
    • 1

    在这里插入图片描述
    我们可以输入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。

  • 相关阅读:
    Samba服务搭建
    论文解读(CDTrans)《CDTrans: Cross-domain Transformer for Unsupervised Domain Adaptation》
    Javascript自定义页面复制事件
    声音好听,颜值能打,基于PaddleGAN给人工智能AI语音模型配上动态画面(Python3.10)
    动手学习深度学习08----线性模型+基础优化算法
    面向6G的欠采样相移键控可见光调制方案
    三川智控定时控制开关灯
    腾讯云毫无原因封锁思维导图在线工具网站
    Qt的children和findChildren函数详解
    字符串和内存函数
  • 原文地址:https://blog.csdn.net/mahoon411/article/details/125613194