新项目的代码要封版,如何操作gitlab,从开发分支合并代码到master分支?

新项目的代码要封版,如何操作gitlab,从开发分支合并代码到master分支?

新项目的代码要封版,如何操作gitlab,从开发分支合并代码到master分支?

你敢相信这是个码农?

draft项目通过5月份的加班加点,终于开发完成,代码要封版。大家都是在dev分支开发的,代码封版时,将dev分支的代码合并到主干分支master时可费了劲儿了,上周我们几个同事前前后后折腾了两天,还是有问题。


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

我之前scm工具主要用svn,用git也就近半年的时间,之前也没有合并主干代码的权限,所以对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分支?

新项目的代码要封版,如何操作gitlab,从开发分支合并代码到master分支?