你敢相信这是个码农?

新项目开发完成,代码要封版。开发分支是dev,将代码合并到master时可费了劲儿了,上周我们几个同事前前后后折腾了两天,还是有问题。

今天上完线必须要封版了。所以务必得搞定。

我之前scm工具主要用svn,用git也就近半年的时间,之前也没有合并主干代码的权限。百度解答不了我的问题,就再去咨询同事。

同事的建议是,把dev的代码复制一份,去掉git版本控制,通过这种方式把代码提交到git服务器上。我疑问能不能把master删掉。因为我知道,在IDEA里,从dev获取最新,据此创建新的分支并且命名为master,然后把代码push到远程gitlab服务器上,不就可以有master了么!同事告知master受保护,删不了的,目前也没找到在哪里可以设置。

同事的提示有如点睛之笔,让我对gitlab有了进一步了解。那现在的问题就变成了能(如)否(何)让master不受保护。

办法总比问题多。我向来爱琢磨,很快,就找到了答案。

答案隐藏在项目的git里的“设置”里。

设置→Edit Project,打开Project settings功能
修改Default Branch。

设置→Protected Branches,打开Protected Branches功能
在Protect a branch这个panel里,可以选择一个branch,点击“Protect”按钮;
在Protected Branches这个panel里,“Unprotect”按钮可以取消分支的受保护。

通过上述方法,可以把master分支改成一个普通的分支,然后删掉它。

接下来就是在本地IDE里,从dev获取最新,据此创建新的分支并且命名为master,然后把代码push到远程gitlab服务器上。当然,完事之后要把master分支设置成Default和Protected。搞定!

git设置截图:

gitlab从开发分支合并代码到master分支的更多相关文章

  1. 【IntelliJ IDEA】在idea上操作 git分支合并【如何将远程swagger分支 合并到 远程 master分支上】【如何切换 本地分支】

    ============================================ 明确一点: 如果项目交给git管理了[如何将项目交给git管理:https://www.cnblogs.com ...

  2. git使用,多分支合并代码解决冲突,git删除远程分支,删除远程master默认分支方法

    git使用,多分支合并代码解决冲突,git删除远程分支,删除远程master默认分支方法提交代码流程:1.先提交代码到自己分支上2.切换到devlop拉取代码合并到当前分支3.合并后有变动的推送到自己 ...

  3. TortoiseGit不同分支合并代码2

    现在有主分支master和分支day2.现在要把day2上的变更合并到主分支master上! 1.首先切换到目标分支master上. 说明当前分支是master分支. 2.在master分支上查看提交 ...

  4. TortoiseGit不同分支合并代码

    现在有主分支master和分支day2.现在要把day2上的变更合并到主分支master上! 1.首先切换到目标分支master上. 说明当前分支是master分支. 2.在master分支上查看提交 ...

  5. 解决 git branch -a 无法全部显示远程的分支,只显示master分支

    新建分支 若遇到 git branch -a 无法全部显示远程的分支,只显示master分支 可以通过 git fetch 将本地远程跟踪分支进行更新,与远程分支保持一致

  6. git合并代码到主分支

    git合并login分支到master分支 1.首先查看源码状态 git status 2.添加到暂存区 git add . git status //添加到暂存区后再次查看源码状态 3.提交代码到本 ...

  7. dev分支代码覆盖master分支代码

    将develop分支上的代码完全覆盖master分支, 1. 切换到master分支 git checkout master 2. 执行以下命令 git reset --hard origin/dev ...

  8. git如何将一个分支合并到另一个分支?

    答: git merge --no-edit <another branch>

  9. 18、git提交代码并将develop分支合并到master分支上

    提交合并代码流程: git add .git commit -m ''git pushgit checkout mastergit merge develop //将develop 分支与master ...

随机推荐

  1. linux下unzip解压报错“symlink error: File name too long”怎么办?提供解决方案。

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 分享unzip工具的一个bug." 最近在研究菠菜站,中间用到了Spidermonkey,碰到一些小波折,在这里分享出来,以便大家 ...

  2. 图像几何变换之平移(Matlab)

    G=imread('aini555.jpg'); A=rgb2gray(G); se=translate(strel(),[,]); B=imdilate(A,se); figure; subplot ...

  3. Data Management Technology(5) -- Recovery

    Recovery Types of Failures Wrong data entry Prevent by having constraints in the database Fix with d ...

  4. WPF-自定义控件引用外部样式+转换器

    引用单个外部样式 <UserControl.Resources> <ResourceDictionary Source="pack://application:,,,/XM ...

  5. linux学习(六)计划任务命令

    目录 at命令 @(计划任务命令) at命令 at命令用于指定在未来某一时间执行一个任务,该任务只能被执行一次 at [选项] [时间] f:指定包含具体指令的任务文件 q:指定新任务队列名称 l:显 ...

  6. Python list遍历remove()时的一个小BUG

    有这样一个列表: s=list('abcdefg') 现在因为某种原因我们需要从s中踢出一些不需要的元素,方便起见这里直接以踢出所有元素的循环代替: for e in s: s.remove(e) 结 ...

  7. Mysql—数据恢复

    根据.frm和.ibd文件恢复表结构和数据

  8. [Go] go连接influxdb的库

    开启了influxdb后,会监听8086端口下载客户端代码git clone https://github.com/influxdata/influxdb1-client.git $GOPATH/sr ...

  9. 5. IDEA使用

    一.IDEA项目结构 二.创建项目 三.快捷键 Alt + Enter // 导包,自动修正代码 ctrl + Y // 删除光标所在行 ctrl + D // 复制光标所在行,插在光标位置下面 ct ...

  10. HashMap默认加载因子为什么选择0.75?(阿里)

    Hashtable 初始容量是11 ,扩容 方式为2N+1; HashMap 初始容量是16,扩容方式为2N; 阿里的人突然问我为啥扩容因子是0.75,回来总结了一下: 提高空间利用率和 减少查询成本 ...