Git----分支管理之分支管理策略04

  通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。

如果要强制禁用Fast forward模式,Git就会在merge时生产一个新的commit,这样,从分支历史上就可以看出分支信息。

下面我们实战一下--no-ff方式的git merge

首先,仍然创建并切换dev分支:

 

$ git checkout -b dev
Switched to a new branch 'dev'

修改readme.txt文件,并提交一个新的commit:

$ git add readme.txt

$ git commit -m "add merge"
[dev 45e3302] add merge
1 file changed, 1 insertion(+), 1 deletion(-)

现在,我们切换回master

$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 4 commits.
(use "git push" to publish your local commits)

准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward

$ git merge --no-ff -m "merge with no-ff" dev
Merge made by the 'recursive' strategy.
readme.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。

合并后,我们用git log看看分支历史:

$ git log --graph --pretty=oneline --abbrev-commit
* 819865d (HEAD -> master) merge with no-ff
|\
| * 45e3302 (dev) add merge
|/
* 20864c0 confict fixed
|\
| * ab1c693 AND simple
* | ea364c9 & simple
|/
* 3d9a6be branch test
* d255aa7 (origin/master) LICENSE
* 4e28fb6 readme.txt

可以看到,不使用Fast forward模式,merge后就像这样:

分支策略

  在实际开发中,我们应该按照几个基本原则进行分支管理

首先,master分支应该是非常稳定的,也就是仅用发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支上发布1.0版本。

  你和你的小伙伴每个人都在dev分支上干活,每个人都有自己的分支。时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样:

 摘抄自:

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758410364457b9e3d821f4244beb0fd69c61a185ae0000

转载于:https://www.cnblogs.com/cxq0017/p/9687456.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352726.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试英语语法的软件,1Checker,一款实用的英语语法检测软件

语法检测软件众多,使用最顺手的是1Checker。因为工作原因,每两年都要发表至少一篇英文期刊,可我的英文水平写专业论文很欠缺,又不愿意花钱找人翻译检测。就在网上寻找相关的软件,1Checker不是我第一个使用的语法检测软…

企业是否应该实现对客户需求的快速响应_如何做好企业服务?

2018 年,企业级服务仍处于高速增长时期。经过几年的市场洗礼后,企业级服务的市场格局正在逐步明朗。无论是垂直型还是通用型的企业级服务厂商,公司发展核心问题主要围绕客户满意度、产品成熟度、企业健康度三方面:①产品成熟度。成熟的 B 端产…

JavaScript的匿名函数

匿名函数&#xff0c;没有函数名的函数&#xff0c;这种函数一般使用变量来存放。匿名函数的声明方式类似普通函数&#xff0c;一般使用变量保存起来。 示例&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"…

OpenMap教程5 – 3层GIS应用程序

1.简介 欢迎使用OpenMap系列教程的第5个教程。 OpenMap是一个免费的开源Java GIS库。 这是以前的教程列表&#xff1a; 在第一个教程中&#xff0c;我们创建了一个基本的OpenMap GIS应用程序&#xff0c;该应用程序在JFrame中显示一个从文件系统加载的具有一个形状图层的地图…

Linux Shell——-if -eq,if -ne,if -gt[笔记]

-eq //等于 -ne //不等于 -gt //大于 -lt //小于 ge //大于等于 le //小于等于

中国计算机手机全部被黑,云南一高校电脑全被黑

0云南一高校电脑全被黑2016-10-14 21:20据云南高校新鲜事儿10月14日消息&#xff0c;网友爆料&#xff0c;云南大学本部文渊楼授课电脑全部被黑。{"info": {"setname": "云南一高校电脑全被黑","imgsum_bk": 4,"imgsum": 4,…

CIFAR和SVHN在各CNN论文中的结果

CIFAR和SVHN结果 加粗表示原论文中该网络的最优结果。可以看出DenseNet-BC优于ResNeXt优于DenseNet优于WRN优于FractalNet优于ResNetv2优于ResNet。ResNeXt-29&#xff0c;8x64d表示29层&#xff0c;ResNeXt分支数为8&#xff0c;每个分支的bottleneck宽度为64。这里记录的结果…

c++可以做什么项目_上班做下班后可以做的兼职项目

当今社会我们常常听到有人抱怨成年人的世界里从来没有容易二字&#xff0c;无论你是在家带娃&#xff0c;还是正常上班。你会觉得消费水平在不断的上涨&#xff0c;但工资却永不见涨。眼看着入不敷出&#xff0c;除了心里急的火急火燎&#xff0c;心里还想着怎样赚到更多的钱&a…

excel中自动填充到最后一行

excel中如果中间没有空行&#xff0c;通过双击黑色十字可自动填充到最后一行&#xff0c;但如果数据中间空行多并且数据多&#xff0c;双击黑色十字只可以填充到空行前面的一行。 这时&#xff0c;可使用ctrlenter组合键实现自动填充。 1、先选中要填充的单元格 2、输入公式 3、…

强制关闭计算机窗口,windows系统怎么取消关机时强制关闭程序提示窗口?

在写经验时&#xff0c;因为要操作用户帐户&#xff0c;结果弄得系统所有设置都恢复到系统默认状态了&#xff0c;其它的就不说&#xff0c;说一下关机时&#xff0c;总会弹出一个“强制关闭程序的提示窗口”&#xff0c;怎样把这个窗口关闭掉呢。找了一些资料&#xff0c;终于…

更改exe程序图标_更改电脑文件夹颜色、样式、图标,让文件夹不再是单一的黄色...

电脑文件夹一般默认的是样式、图标、颜色&#xff0c;如下图所示&#xff1a;文件夹那么&#xff0c;怎样改变这三种设定呢&#xff1f;其实操作很简单&#xff0c;下面小编介绍一个小工具&#xff0c;具体的操作步骤如下&#xff1a;1、首先&#xff0c;下载安装&#xff0c;下…

Codeforces 1058 D. Vasya and Triangle 分解因子

传送门&#xff1a;http://codeforces.com/contest/1058/problem/D 题意&#xff1a; 在一个n*m的格点中&#xff0c;问能否找到三个点&#xff0c;使得这三个点围成的三角形面积是矩形的1/k。 思路&#xff1a; 这个题就是找&#xff08;0&#xff0c;0&#xff09;&#xff0…

afterclass_通过beforeClass和afterClass设置增强Spring Test Framework

afterclass如何允许实例方法作为JUnit BeforeClass行为运行 JUnit允许您在所有测试方法调用之前和之后一次在类级别上设置方法。 但是&#xff0c;通过有意设计&#xff0c;它们将其限制为仅使用BeforeClass和AfterClass批注的静态方法。 例如&#xff0c;以下简单演示演示了典…

联想服务器支持esxi版本,联想中国(Lenovo China)_服务频道_服务政策

Lenovo ThinkServer Partner Pack for VMware vCenter重要通知:ThinkServer RD350/RD450/RD550/RD650/TD350 中Lenovo ThinkServer Partner Pack 被Lenovo XClarity Integrator for VMware vCenter所取代, 请点击如下链接获取:Lenovo XClarity Integrator for VMware vCenter 不…

什么是凸组合?

问&#xff1a;什么是凸组合&#xff1f; 答&#xff1a;凸组合是指&#xff0c;假设x1,x2,...,xn是一组对象&#xff08;要根据讨论问题的背景来确定&#xff09;&#xff0c;a1,a2,...,an是n个常数&#xff0c;并且满足a1a2...an1&#xff0c;那么a1x1a2x2...anxn&#xff0…

字魂35号经典雅黑_2020:上海不锈钢黑钛线条行业

2020&#xff1a;上海不锈钢黑钛线条行业 不锈钢花格可以单独制作&#xff0c;也可以连通整个产品以其制作&#xff0c;如屏风。经热浸镀锌处理后的不锈钢屏风构件隔断&#xff0c;栏杆&#xff0c;窗户&#xff0c;门套&#xff0c;拱门&#xff0c;装饰摆件&#xff0c;灯罩等…

MySQL(一)基础操作

MySQL基础操作 一、MySQL数据库管理 1.登入 mysql -u root -p 然后输入密码 2.查看当前MySQL会话使用的字符集 show variables like character%; 显示如下&#xff1a; mysql> show variables like character%;-----------------------------------------------------------…

Spring管理的Hibernate事件监听器

Hibernate提供事件监听器作为其SPI的一部分。 您可以将您的侦听器挂接到许多事件&#xff0c;包括插入前&#xff0c;插入后&#xff0c;删除前&#xff0c;刷新等。 但是有时在这些侦听器中&#xff0c;您想使用spring依赖项。 我之前已经写过有关如何执行此操作的文章 &…

通过bios修改服务器ipmi配置,Dell服务器之配置ipmi远程console管理

1.启动服务器&#xff0c;按F2键进入BIOS设置Serial Communication:Serial Communication......On with Console Redirection via COM2External Serial Connector...COM22.进入系统&#xff0c;修改/boot/grub/menu.1stdefault2timeout15kernel /boot/kernel ro root/dev/sda1 …

分形艺术照

分形艺术照编辑 分形艺术照其实是分形艺术图形的另一种称呼。分形艺术图形的创作依赖于计算机强大的计算能力&#xff0c;将数学公式迭代运算&#xff0c;最终把计算结果以图形显示出来。这样得到的图形&#xff0c;结合创作者的色彩搭配以及变换组合&#xff0c;能产生出具有强…