Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[1268]Git分支管理及命名规范

[1268]Git分支管理及命名规范

作者头像
周小董
发布于 2024-03-10 00:07:51
发布于 2024-03-10 00:07:51
2.7K00
代码可运行
举报
文章被收录于专栏:python前行者python前行者
运行总次数:0
代码可运行

Git分支管理及命名规范

1、分支分类

Git主分支(保留分支):master、develop

主要分支:Master和Develop。前者用于正式发布,后者用于日常开发。

Git辅助分支(临时分支):feature、release、fixbug

除了常设分支以外,还有一些临时性分支,用于应对一些特定目的的版本开发。临时性分支主要有三种:

  • 功能(feature)分支
  • 预发布(release)分支
  • 修补bug(fixbug)分支

这三种分支都属于临时性需要,使用完以后,应该删除,使得代码库的常设分支始终只有Master和Develop。

2、分支简介

2.1 主分支 Master

代码库有且仅有一个主分支,所有提供给用户使用的正式版本,都在这个主分支上发布。 Git默认主分支Master,它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。

2.2 开发分支 Develop

主分支只用来分布重大版本,日常开发应该在另一条分支上完成。我们把开发用的分支,叫做Develop。这个分支可以用来生成代码的最新隔夜版本(nightly)。如果想正式对外发布,就在Master分支上,对Develop分支进行"合并"(merge)。

创建分支

Git创建Develop分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout -b develop master
发布分支

将Develop分支发布到Master分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 切换到 Master 分支
git checkout master

// 对 Develop 分支进行合并
git merge --no-ff develop

--no-ff参数是什么意思?默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支。

使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。为了保证版本演进的清晰,建议采用这种做法。

2.3 功能分支 feature

功能分支,是为了开发某种特定功能,从Develop分支上面分出来,开发完成后,再并入Develop。 功能分支的名字,可以采用feature-*的形式命名。

创建分支

创建一个功能分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout -b feature-xxx develop
合并分支

开发完成后,将功能分支合并到develop分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout develop

git merge --no-ff feature-xxx
删除分支

删除feature分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git branch -d feature-xxx
2.4 预发布分支 release

预发布分支,是指发布正式版本之前(即合并到Master分支之前),我们可能需要有一个预发布的版本进行测试。

预发布分支是从Develop分支上面分出来的,预发布结束以后,必须合并进Develop和Master分支。它的命名,可以采用release-*的形式。

创建分支

创建一个预发布分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout -b release-2.5 develop
合并分支

确认没有问题后,合并到master分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout master

git merge --no-ff release-2.5

# 对合并生成的新节点,做一个标签
git tag -a 2.5

再合并到develop分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout develop

git merge --no-ff release-2.5
删除分支

最后,删除预发布分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git branch -d release-2.5
2.5 修补bug分支 fixbug

修补bug分支,软件正式发布以后,难免会出现bug,这时就需要创建一个分支,进行bug修补。

修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。它的命名,可以采用fixbug-*的形式。

创建分支

创建一个修补bug分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout -b fixbug-0.1 master
合并分支

修补结束后,合并到master分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout master

git merge --no-ff fixbug-0.1

git tag -a 0.1

再合并到develop分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout develop

git merge --no-ff fixbug-0.1
删除分支

最后,删除修补bug分支的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git branch -d fixbug-0.1

3、总结归纳

最后回顾开头的大图,掌握两大主分支、三个辅助分支的生命周期,起于哪个分支始于哪个分支。

参考:https://blog.csdn.net/GYQ1547426970/article/details/109001797

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Git分支管理的策略梳理
当下最流行的版本管理系统应该是非Git莫属。相比同类软件,Git有很多优点,其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便。有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称"快照")的指针,因此非常快捷易用。但是,太方便了也会产生副作用。如果不加注意,很可能会留下一个枝节蔓生、四处开放的版本库,到处都是分支,完全看不出主干发展的脉络。Vincent Driessen提出了一个分支管理的策略,非常值得借鉴!它可以使得版本库的
洗尽了浮华
2018/01/22
1K0
Git分支管理的策略梳理
Git多人协作开发流程分支管理方案
代码库应该有一个、且仅有一个主分支:master。所有提供给用户使用的正式版本,都在这个主分支上发布。
前端进阶之旅
2022/01/04
1.5K0
Git多人协作开发流程分支管理方案
Git分支管理策略
如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System)。 眼下最流行的"版本管理系统",非Git莫属。 相比同类软件,Git有很多优点。其中很显著的一点,就是
ruanyf
2018/04/13
1.1K0
Git分支管理策略
Git 分支管理策略汇总
最近,团队新入职了一些小伙伴,在开发过程中,他们问我 Git 分支是如何管理的,以及应该怎么提交代码?
AlwaysBeta
2022/11/11
1.4K0
Git 分支管理策略汇总
Git基础和规范-协同开发
关于版本控制 什么是版本控制: 官方说法:版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统,你可以对任何类型的文件进行版本控制。 版本控制系统变迁 要做好版本控制,少不了相
用户1257215
2018/01/30
1.5K0
Git基础和规范-协同开发
如何克服解决Git冲突的恐惧症?(Git分支策略)
主分支只用来分布重大版本,日常开发应该在另一条分支上完成。我们把开发用的分支,叫做Develop。
前端黑板报
2020/12/10
6600
如何克服解决Git冲突的恐惧症?(Git分支策略)
Git 代码分支管理规范
Git 是优秀的分布式代码管理软件。但是俗话说,“无规矩不成方圆”,代码分支的管理规范没有制定好,就会带来一系列的问题,比如:
leon_橙
2020/03/02
13.1K0
Git 代码分支管理规范
git分支管理
命名: master、develop、feature以feature/功能名、release以release/功能名、hotfix以hotfix/bug名
OPice
2020/01/15
5660
Git 分支管理的 23 条军规
1 GIT,在技术层面上,绝对是一个无中心的分布式版本控制系统,但在管理层面上,我建议你保持一个中心版本库。
DevOps时代
2019/08/28
7370
Git 分支管理的 23 条军规
项目管理工具git的安装与使用
git 2015年诞生,自此以后日臻成熟,逐渐发展壮大!在保证你快速高效管理你的代码同时,又保证自己简单易用,这么久以来依然坚持自己的目标,他的速度飞快,非常适合管理大型项目。 系统版本:centos7.9 软件版本:git2.28
IT不难
2022/03/18
5300
项目管理工具git的安装与使用
产品管理开发之Git工作流和分支规范推荐
无论是开源项目还是内部项目,使用Git都是大势所趋,尤其是在产品管理这块,使用Git大大提高了开发效率和产品的交付频率。本篇,针对Git的工作流和分支使用,进行了一些推荐。
雪雁-心莱科技
2019/04/18
7850
产品管理开发之Git工作流和分支规范推荐
Git分支合并选择
用Git进行多人协作开发时,必然会合并代码,解决冲突。然而合并代码也是需要点技巧的,如果对一些关键命令没有理解去使用的话,git的版本演进路线就会变得很乱,从而造成了日后维护的一些麻烦。
知忆
2021/06/06
1.2K0
别乱提交代码了,你最好知道的 Git 分支开发规范!别错过好文哦
Git 是目前最流行的源代码管理工具。为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作。
create17
2021/04/07
4.1K0
别乱提交代码了,你最好知道的 Git 分支开发规范!别错过好文哦
Git项目管理
Git Flow实际上是一种软件项目管理模型,由大牛Vincent Driessen提出,核心思想如所图 1示。从中可以看出,主分支有master、develop两个组成,分别用于产品发布、功能开发;余下的三个辅助分支——hotfixes、release branches、feature branches,分别用于已发版本的bug修复、新版QA发布、新功能开发。
似水的流年
2019/12/06
1.5K0
01 . Git常用命令及方法和分支管理
Git同样告诉我们,用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区:
iginkgo18
2020/09/27
6180
01 . Git常用命令及方法和分支管理
git 代码分支管理教程
引言 本文重点介绍的内容: 1、每次发布版本之后,需要打tag。具体步骤是 先把开发分支的代码合并到master,在打tag. 2、常用git脚本:针对GitHub的master 更名进行脚本调整(master 更名为main,例如push 需改为git push -u origin main) 强制的提交本地版本 git push origin master --force I 、合并 1.1 分支到主干 1.1.1 切换回master分支并merge #切换回master分支 git checko
公众号iOS逆向
2021/07/29
6150
带领前端小伙伴重温「Git Flow Workflow」
关于Git Flow 工作流,我想已经是老生常谈的话题了,但是今天我不得不来重温一下 Git Flow 工作流。当我看的代码厂库的时候,我已经开始怀疑人生。乱七八糟的分支,五花八门的提交信息,各种各样的分支名称,没有 Develop 分支,没有 Release,也没有 Hotfix。因此我想我应该好好温习一遍 Git Flow 工作流,来改善一下厂库现状。
拾贰
2019/08/22
6070
您必须知道的 Git 分支开发规范,附 Git 常用命令大全!
我们都知道,阿里有 Java 规范,Redis 规范,而 Git 规范几乎从未被聊起,所以,今天我就说一说 Git 的日常分支开发规范。
业余草
2020/01/02
2K0
Git分支合并选择
   用Git进行多人协作开发时,必然会合并代码,解决冲突。然而合并代码也是需要点技巧的,如果对一些关键命令没有理解去使用的话,git的版本演进路线就会变得很乱,从而造成了日后维护的一些麻烦。    Git上合并代码有git merge 以及 git rebase 两种方式。下面将深入两者的用法以及对两者的适用场景作个总结。 前置知识点 Master分支:首先,代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。这个分支被称为Master分支; Develop分支:主分支
牧云云
2018/05/02
1.2K0
Git分支合并选择
github开源可视化_可视化拖拽项目管理 github
  参考:https://juejin.cn/post/6966059771346550815
全栈程序员站长
2022/09/19
7380
github开源可视化_可视化拖拽项目管理 github
相关推荐
Git分支管理的策略梳理
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档