soucetree 怎么向gitlab 发送分支请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了soucetree 怎么向gitlab 发送分支请求相关的知识,希望对你有一定的参考价值。
参考技术A Git工作流我们在工作中经常用到git来管理自己的代码,也会涉及到多人协作的场景, 被广泛使用的三种工作流如下:
Git flow
Github flow
Gitlab flow
以下只简单总结三种flow的特点和弊端,具体的介绍和比较请移步阮一峰老师的文章《Git工作流》
Git flow
典型的长期维护master分支和develop分支,因为是FDD(功能驱动开发),所以会在协作开发中衍生出 功能分支(feature branch)、补丁分支(hotfix branch)、预发版分支(release branch),完成之后会合并到develop或者master分支,之后删除。优点是清晰可控,但这个模式是基于“版本发布”的,目标是一段时间产出一个新版本,不适合“持续发布”的网站开发。
Github flow
只有一个master长期分支,需要协同的人可以fork代码(其实就是新建了一个自己的分支,并且pull到了master上的代码),当你的功能需求代码完成之后,或者需要讨论的时候,就向master发起一个pull request。通知到别人评审、讨论、review你的代码,方便的是,在request提交之后评审的过程中,你还可以提交代码。等到你的request被accept,分支会合并到master,重新部署后,你原来的那个分支就可以删除啦。缺点是有时你的产品发布的代码版本和你master最新的版本并不是一个(比如因为苹果审核需要时间,那么你的代码就需要另一个分支来保留线上版本)。
Gitlab flow
引入了“上游优先”(upsteam first)的原则。只存在一个主分支master,它是所有其他分支的"上游"。只有上游分支采纳的代码变化,才能应用到其他分支。版本发布"的项目,建议的做法是每一个稳定版本,都要从master分支拉出一个分支。使用gitlab建立group project,可以将成员全部添加进小组中,每个人的提交都以分支合并进master分支的方式进行,我们可以将master设置成protected branch,这样就做到了强制代码review的机制,利于提升代码的质量。Issue 用于 Bug追踪和需求管理。建议先新建 Issue,再新建对应的功能分支。
Gitlab如何使用
首先,在gitlab的console中创建工程,创建好后会有如下图的命令提示,告知你怎样在本地创建代码项目并push(使用sourcetree更简单):
项目创建完成之后,给项目添加成员:
把master分支设置成受保护分支,这样成员在提交代码的时候,只能先提交merge request(强制做代码review):
在本地,以developer的身份push代码,会显示不成功:
正常流程中,是先本地从master上拉取新建分支:
当有代码需要提交push的时候,在gitlab的console中创建merge request 完成代码向master分支的提交:
负责review的小伙伴可以对代码进行评论,在accept之前,该分支中再次push的commit都归属于这次merge request。accept之后,分支自动合并到master分支中(可以勾选直接删除merge的功能分支):
至此,一次完整的代码提交过程就完成了。当然,在项目上线之后,会有“下游”的分支,例如 生产版本的分支、预生产版本的分支也会加入到protected branch的行列。
在 gitlab 中更改默认分支
【中文标题】在 gitlab 中更改默认分支【英文标题】:Change Default branch in gitlab 【发布时间】:2015-09-08 08:00:09 【问题描述】:我不小心将我的本地 master 推送到了 gitlab 上一个名为 origin 的分支,现在它是默认的。有没有办法重命名这个分支或将新的主分支设置为主分支?
【问题讨论】:
如果您正在维护 Drupal 贡献的模块,请参阅 drupal.stackexchange.com/questions/287518/… 【参考方案1】: 推荐的答案 GitLab在 GitLab 企业版 12.2.0-pre 中,您必须使用以下内容:
Setting
→ Repository
→ Default Branch
(展开)并在此处更改默认分支
【讨论】:
他们一直在移动它,所以我必须不断改变我的正确答案。所有其他高票数的答案在发布时都是正确的。 这适用于 2021 年 2 月。直到下一次更改... 您好,从 14.0 开始!虽然他们改变了它,所以它使用句子大小写,选项仍然在同一个地方。 所有分支都出现在下拉列表中...除了我想要的那个。数字。【参考方案2】:在 8.0+ 中,它看起来像是被移到了项目中。如果您打开项目并转到右侧的齿轮图标,然后“编辑项目”,您可以为项目设置默认分支。
【讨论】:
尊敬的读者,请查看其他答案以获取对较新版本 gitlab 的引用 感谢@bigdatamann 我已将正确答案更新为最新的当前版本【参考方案3】:在 GitLab 中更改默认分支: 1.设置>常规>常规项目设置>展开 2. 默认分支 > 更改您的项目默认分支 3. 保存更改
【讨论】:
【参考方案4】:对于 gitlab v10+(截至 2018 年 9 月),这已移至设置-> 存储库-> 默认分支
正如@Luke 所说,这在 4/1/2021
仍然有效【讨论】:
截至 2019 年 3 月,这仍然是正确答案! 也不是“设置”、“扩展主要内容区域中的众多选项之一”,而是“设置”、“存储库”(在侧边栏中)。又名gitlab.com/you/your-repository/settings/repository 截至 2021 年 1 月 4 日,这仍然是正确的。(GitLab 企业版 13.8.0)【参考方案5】:在 Gitlab 7.7.2 中更改默认分支:
点击左侧栏中的设置 将默认分支更改为所需的分支 点击保存更改。【讨论】:
为什么我也很难找到这个显而易见的选项? GitLab 社区版 8.8.5 在左侧栏中没有“设置”。 他们改变了用户界面,所以我把正确答案改成了@Mason【参考方案6】:-
设置
常规
常规项目设置
【讨论】:
【参考方案7】:在最新的 GitLab 社区版 9.2.2 版中:
-
您必须单击选项卡最右侧的“设置”选项卡
打开项目后的面板。
在“设置”下,您将看到“默认分支”下拉列表
这将为您提供存储库的所有分支。选择所需的分支。
向下滚动以点击位于刚刚的绿色“保存更改”按钮
在“Project Avatar”之后。
请参考下图:
【讨论】:
【参考方案8】:在 Gitlab 版本 v11.4.4-ee 中,您可以:
-
设置
存储库
默认分支
【讨论】:
【参考方案9】:另见GitLab 13.6(2020 年 11 月)
自定义组内新项目的初始分支名称
创建新的 Git 仓库时,创建的第一个分支默认命名为
master
。与 Git 项目、更广泛的社区和其他 Git 供应商协调,GitLab 一直在听取开发社区的反馈,为默认分支确定更具描述性和包容性的名称,现在为用户提供更改名称的选项他们存储库的默认分支名称。
以前,我们向customize the initial branch name at the instance-level 提供了该功能,作为 13.6 的一部分,GitLab 现在允许组管理员为通过 GitLab 界面创建的新存储库配置默认分支名称。
参见Documentation 和Issue。
GitLab 13.9(2021 年 2 月)详情:
Git default branch name change
每个 Git 存储库都有一个初始分支。它是您创建新存储库时自动创建的第一个分支。 默认情况下,这个初始分支被命名为
master
。Git 版本 2.31.0(计划于 2021 年 3 月 15 日发布)会将 Git 中的默认分支名称从
master
更改为main
。与 Git 项目和更广泛的社区协调,GitLab 将从 GitLab 14.0 开始更改我们的 SaaS (GitLab.com) 和自我管理产品上新项目的默认分支名称。 这不会影响现有项目。
有关更多信息,请参阅相关的epic 和 Git mailing list discussion。
弃用日期:2021 年 4 月 22 日
承诺,GitLab 13.11(2021 年 4 月):
Git default branch name change
每个 Git 存储库都有一个初始分支。 它是您创建新存储库时自动创建的第一个分支。
默认情况下,此初始分支名为
master
。Future Git versions 会将 Git 中的默认分支名称从master
更改为main
。与 Git 项目和更广泛的社区协调,GitLab will be changing the default branch name 用于我们的 SaaS (GitLab.com) 和自 GitLab 14.0 开始的自我管理产品的新项目。 这不会影响现有项目。
GitLab 已经引入了一些更改,允许用户在 instance-level(对于自我管理的用户)和 group-level(对于 SaaS 和自我管理的用户)更改默认分支名称。 我们鼓励用户利用这些功能为新项目设置默认分支名称。
有关详细信息,请参阅相关史诗和相关博客文章。
【讨论】:
这很有帮助,***.com/a/57492760/470749 的屏幕截图也很有帮助 @Ryan 谢谢。我确实忘记了截图。我已经编辑了答案。【参考方案10】:设置 > 存储库 > 默认分支
【讨论】:
【参考方案11】:首先我需要使用 ssh 远程访问我的服务器。如果有人有这样做的非 ssh 方式,请发布。
我在
找到了我的裸仓库cd /var/opt/gitlab/git-data/repositories/group-name/project-name.git
二手
git branch
查看错误的活动分支
git symbolic-ref HEAD refs/heads/master
把master改成master分支,然后用web界面和“git branch”确认。
【讨论】:
【参考方案12】:在 Gitlab CE 9.0 中,您可以从存储库标题的设置选项卡中更改默认分支。
【讨论】:
【参考方案13】:对于 GitLab 11.5.0-ee,请转到
https://gitlab.com/<username>/<project name>/settings/repository
.
你应该看到:
Default Branch
选择您要设置为此项目的默认分支。除非您指定其他分支,否则所有合并请求和提交都将自动针对此分支进行。
单击展开,选择一个分支,然后单击保存更改。
【讨论】:
以上是关于soucetree 怎么向gitlab 发送分支请求的主要内容,如果未能解决你的问题,请参考以下文章