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 中,您必须使用以下内容: SettingRepositoryDefault 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 发送分支请求的主要内容,如果未能解决你的问题,请参考以下文章

怎么从gitlab中克隆分支代码

git怎么控制成员的权限

GitLab开发分支提交代码命令

在 GitLab 中从问题创建分支

GitLab远程分支被删除后怎么恢复

在 gitlab 中更改默认分支