前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Git学习笔记】逃不掉的merge和rebase

【Git学习笔记】逃不掉的merge和rebase

作者头像
用户6543014
发布于 2019-11-23 08:08:01
发布于 2019-11-23 08:08:01
9.2K0
举报
文章被收录于专栏:CU技术社区CU技术社区

今天说说最难的merge和rebase的区别,图文并茂,一文让你明明白白。上菜!

一、merge

在前面的知识点中我们已经介绍过merge了,实际上遇到过合并,今天以实际中经常遇到的情况作为例子进行实操。

真实情景:你从远端master分支拉取了一个mywork分支进行工作,此时你的小伙伴也从远端master拉取了一个分支进行工作,且将修改内容先push到了远端master分支上,而你也在mywork分支上进行了修改,此时你mywork分支落后远端分支,更主要是你开发的功能要在 master 最新的基础上开发,或者你也想要 master 上最新的内容,重点来了,现在我们怎么办?

方法有如下两种:

  • 一种是使用 rebase ;
  • 另一种是使用 merge。

我们先说一下merge方法:

第一步:先把自己的分支推到远程mywork分支(如果你已经建立远程mywork分支就不必建立,工作良好习惯,应该需要及时将本地内容推送到远程自己所在分支)。

第二步:你需要切回本地master分支,先pull远端master分支到本地master分支。

注意:可以不加 –rebase 。感兴趣可以自行查询下加与不加有啥区别。

第三步:切回到mymork分支且拉取远端mywork分支(如果确定是最新的可以不操作,以防万一pull一下)

第四步:merge master分支到mywork分支,且push到远端mywork分支

可以看到 merge 之后,在mywork分支上多出一条合并的log。

第五步:我们的mywork分支开发完成了,要合并到 master 分支,根据基本原则,在 master 分支上都使用 git merge mywork 就可以合并。

看下图结果: merge mywork:是以 Fast-forward方式呀。

来来来,看看merge一波的log:

Merge branch 'master' into mywork 不是我手打的,当你在mywork分支上进行git merge master时会弹出个文本的东西,直接:wq退出就好。

这张图恐怕第一次看都有点不知所云,*表示提交的记号,每次出现表示一次提交,右边会对应下来:

Commitid, 作者,日期,commit信息。可以看出我们的mywork分支落后与master分支两个提交才先pull再merge的。

merge会自动帮我们提交一个 Merge branch 'master' into mywork,当然你也可以修改这句话,就是弹出的文本进行修改,你不修改直接退出就是这句话啦。等mywork阶段性工作完啦,我们就git merge mywork,然后推送到远端master 完成合并。

这里有条折线,有直线强迫的人恐怕是不喜欢的,所以很多人喜欢rebase,那我们来说说rebase。

二、rebase

第一步:拉取远端mywork分支

第二步:切换到master分支,且拉取最新的master提交

第三步:切换到mywork分支,rebase master分支到mywork分支,因为我们的功能开发是依托在最新的master分支上的。所以要rebase到mywork分支。

第四步:推到远端的mywork分支,但是发现不行。怎么办?强制推。

第五步:我们在mywork分支做好了工作了,现在rebase到远端master分支。

一起来看看结果,顺便和merge对比一下。使用 rebase 就感觉所有人都在同一条直线上开发一样,很干净的log,看着很舒服,而一直使用 merge 的log看起来就很乱,我这只是2个分支的例子,可见 rebase是真的解放了强迫患者。

后记:这个例子中的操作都没有出现不同分支修改同一个文件导致冲突的情况,实际开发中这种情况非常多。

ebase 的时候出现冲突后 git 也会列出来哪些文件冲突了,等你解决冲突之后使用 git rebase --continue 就会继续处理。

所以为了避免这种冲突太多,而且不好解决。

三、rebase 和 merge 的基本原则

  • 下游分支更新上游分支内容的时候使用 rebase;
  • 上游分支合并下游分支内容的时候使用 merge;

注意:更新当前分支的内容时一定要使用 --rebase 参数;例如现有上游分支 master,基于 master 分支拉出来一个开发分支 dev。

在 dev 上开发了一段时间后要把 master 分支提交的新内容更新到 dev 分支,此时切换到 dev 分支,使用 git rebase master,等 dev 分支开发完成了之后,要合并到上游分支 master 上的时候,切换到 master 分支,使用 git merge dev。

最后,本系列有关于Git的动手笔记系列就都结束了,该系列共分为了8个章节,以动手实践为主。也许看一遍并不一定能够全都记住,但希望能够在你现在 or 以后的学习和工作中,在用到的时候你会第一时间想到自己看过相关的内容。

菜都上完啦,只是系统上菜节奏完结了,先埋下伏笔,如果你遇到些难处理的情况,你可以给我们留言,我们会第一时间针对“你”写出分享。

这一些列应对工作足够了!不,有个前提,是你真的跟着实践了,如果有个别不理解,等你操作多了后自然就理解。但是基本概念和专业术语还是请你一定要理解清楚呀,否则跟着操作完了还是一头雾水。

多实践才能出真知,这一些列都可以复现的,而且是按照实践序列来实践的。跟着一起来吧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SACC开源架构 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
HTTPS证书申请及windows server部署
StartSSL免费DV证书 沃通(Wosign)免费DV证书 这两个已经被苹果拉入黑名单。我10月份在StartSSL申请的证书还可以使用。但是近期申请的已经不被信任,苹果设备上使用近期申请的证书都已经无法打开(亲测)。 如果证书无效或不被信任在微信企业号里面打开的时候会提示 网络出错,请轻触重新加载 -1202的提示。 -1202的错误的意思就是kCFURLErrorServerCertificateUntrusted
forrest23
2018/08/03
3.2K0
Cloudflare免费ssl证书设置
cloudflare是一家国外的 CDN 加速服务商,还是很有名气的。提供免费和付费的加速和网站保护服务。cloudflare提供了不同类型的套餐,即使是免费用户,cloudflare 提供的功能也是很全面的。
爱游博客
2019/08/07
23.6K0
Cloudflare免费ssl证书设置
关于免费SSL证书的那些事儿
根据 Let’s Encrypt CA 的统计,截至 2017 年 11 月,Firefox 加载的网页中启用 HTTPS 的比例占 67%,比去年底的 45% 有巨大提升。浏览器开发商如 Mozilla, Google 准备采取下一步措施:将所有 HTTP 网站标记为不安全。 随着 HTTPS 的普及,给网站加个 SSL 证书已经是大势所趋而且很有必要了。 目前已经存在不少免费好用的 SSL 证书,因此,本文就来盘点一下关于免费 SSL 证书的那些事儿。 一、Let’s Encrypt 官方网站:htt
Zip
2018/07/20
2K0
域名启用 HTTPS 加密功能更安全,国内免费 SSL 证书对比
屈建山
2017/08/07
3.8K0
WordPress整站轻松开启HTTPS
Jianbo
2017/12/29
4K0
WordPress整站轻松开启HTTPS
服务器不支持ssl怎么回事,客户端和服务器不支持一般 SSL 协议版本或加密套件 解决方法…
此网站无法提供安全连接 www.huichengff.com 使用了不受支持的协议。
全栈程序员站长
2022/09/05
16.8K0
IP也可以申请SSL证书开启https?其实已经有许多靠谱又便宜的国产品牌支持
公网IP作为常用的互联网访问,对于IP安全性目前协议上传输是非常重要的。网站需要IP地址实现HTTPS加密,那么IP能申请SSL证书吗?答案是可以的,目前,JoySSL已经支持IP安装SSL证书实现HTTPS保护了。
学长陶小桃
2022/10/26
13.6K0
IP也可以申请SSL证书开启https?其实已经有许多靠谱又便宜的国产品牌支持
申请UK2商家Comodo PositiveSSL免费SSL证书完整过程
对于我们用户来说,即便网站没有使用SSL也没有多大的关系,但是从安全角度考虑,尤其是用户交互的网站平台是必须要使用SSL安全证书的,这样数据在传输过程中可以起到安全作用。应该是在去年的时候,Google提出来如果有网站采用SSL(HTTPS)地址模式,同等条件下会优先排名展示,至此包括国内的主流搜索引擎提供商也类似的都加入这些因素。
老蒋
2021/12/27
1.4K0
申请UK2商家Comodo PositiveSSL免费SSL证书完整过程
分享一个免费SSL证书申请网站,给网站开启https协议
这些天,由于公司的业务需求,接触到了 ssl 证书和 https 协议。博客前几篇文章也分享了在 WEB 服务器上安装 SSL 证书,为网站开启 https 协议的教程,感兴趣的童鞋可以前往查看相关文
张戈
2018/03/23
3.9K0
分享一个免费SSL证书申请网站,给网站开启https协议
IIS 使用 Let’s Encrypt 证书部署 HTTPS 站点
Let’s Encrypt(https://letsencrypt.org ) 是可以签发免费 SSL / TLS 证书的 CA 机构,它是为普及 HTTPS 而发起的,推动了基础 DV SSL 证书的普及。其证书已经被 Mozilla、Google、Microsoft 和 Apple等主流浏览器支持,只需要 web 服务器配置好 HTTPS 证书,浏览器会在加载时验证 web 服务器 HTTPS证书是否有效。 使用 Let’s Encrypt 一个很重要的理由是免费,避免 ISP 劫持;还有申请速度快、无需注册账户等优点。在对比了众多免费 CA 后,Let’s Encrypt是比较方便和理想的,它提供了基础 DV SSL证书,只提供了数据加密;不验证身份,无法向用户证明网站的所有者。但即使这样也满足了基本需要了。
Savalone
2020/02/11
4.5K0
IIS 使用 Let’s Encrypt 证书部署 HTTPS 站点
HTTPS证书知识扫盲
现在搞网站域名不加个HTTPS就显得不专业,特别在使用JWT进行认证的接口一定要加HTTPS为你的接口增加一层安全屏障。今天就来聊聊配置HTTPS的关键SSL证书,也被称为CA证书。
码农小胖哥
2020/09/28
1.8K0
免费SSL证书申请及部署实践
网络上关于如何签发免费SSL证书的博文一大片,但是真正操作起来的能让新手不迷惑的却很少,很多操作步骤受限于国内无法访问外网的阻碍,导致无法真正实施成功。 实际上,关于申请免费SSL证书主要涉及两大部分: 第一,如何快速申请到一个免费的DV证书(通常免费的证书都是DV证书,DV证书对于个人或者测试用途足够了)。 第二,成功申请到证书之后如何配置部署,使得网站可以通过HTTPS访问。
编程随笔
2022/09/08
4.9K0
免费SSL证书申请及部署实践
给网站安装免费的通配SSL证书,轻松实现HTTPS并自动续签
出于安全考虑,现在大部分的网站都已经配置了SSL证书,直观的感觉就是现在大部分的网站都是HTTPS,而不是HTTP了。甚至,Chrome 从90版本开始,就已经是默认请求HTTPS:
Mintimate
2024/08/14
2.5K1
给网站安装免费的通配SSL证书,轻松实现HTTPS并自动续签
DNSPod十问濮灿:中国网站的SSL证书即将断供?
问答时间:2020年8月20日 嘉宾简介: 濮灿:沃通电子认证有限公司总经理,360政企安全云安全事业部总经理、360未来安全研究院云安全研究院院长。从事多年技术开发和技术团队建设,对Linux内核、网络协议栈、高性能网络、DNS解析服务、WEB安全、SDP、SDWAN等多个技术方向有开发和项目经验。擅长网络安全和云安全方向,曾任上海牙木通讯有限公司研发总经理,盛大创新院高级研究员,上海聚流软件科技有限公司CEO,现主要负责360云安全和虚拟化安全的技术架构和产品市场战略。 主持人简介: 吴洪声(人称
腾讯云DNSPod团队
2020/08/21
2.9K0
证书签发机构StartCom也被曝签发假证书
位于以色列埃拉特的证书颁发机构StartCom 之前已经被大部分浏览器取消信任,但前几天被曝光签发了假的证书,包括最高信任级别的 EV 证书。 StartCom StartCom 是一家位于以色列埃拉特的证书颁发机构。2016年10月24日,Mozilla在其安全博客上宣布,由于在对证书颁发机构沃通(360 旗下)数个问题的调查中发现它收购了StartCom,而交易双方并未披露此事,Mozilla将从Firefox 51开始,停止信任2016年10月21日后签发的证书。2016年9月1日,Google也
FB客服
2018/02/28
1.8K0
证书签发机构StartCom也被曝签发假证书
ssl证书怎么申请?网站ssl证书申请
随着搜索引擎巨头百度、谷歌等大力倡导网站https加密访问,以及加强互联网信息安全建设的需要,越来越多的网站、系统开始实现https加密。网站实现https加密需要用到SSL证书,那么网站SSL证书如
沃通WoTrus数字证书
2023/02/27
18.2K0
ssl证书怎么申请?网站ssl证书申请
使用Certify来自动申请并配置Let’s Encrypt免费SSL证书到IIS8
越来越多的网站在启用HTTPS,也就是SSL加密通讯连接访问。特别是去年开始BAT在国内的推广和应用要求。要知道部署发布一个苹果iOS企业应用,下载服务器就必须使用HTTPS协议。
崔文远TroyCui
2019/02/26
2.9K0
使用Certify来自动申请并配置Let’s Encrypt免费SSL证书到IIS8
分享几个免费SSL证书申请网站,给网站开启HTTPS协议
全民 HTTPS 时代来临,分享几个免费 SSL 证书申请网站,给网站开启 HTTPS 协议。 一、腾讯云 申请非常简单,打开页面并登陆之后点击申请证书,填写要申请的域名之后在解析一个 DNS 记录用于验证,十分钟不到就可以颁发证书了!如果是使用 dnspod 或腾讯云解析的域名,则可以全自动验证,坐等颁发即可。 申请地址:点击直达 二、阿里云 和腾讯云基本一致,使用的是赛门铁克的免费 1 年单域名证书,申请页面较为难找,而且在购买页面,略显麻烦,点开购买地址后选择【免费 DV SSL】并提交 购买地址:点
沈唁
2018/05/24
4.1K0
如何获取免费的 SSL 证书?
SSL 证书作为保障网站安全的关键工具,其重要性不言而喻。它不仅能加密数据传输,保护用户隐私,还能提升网站的可信度和搜索引擎排名。对于预算有限的个人站长和小型企业来说,免费的 SSL 证书无疑是保护网站安全的最佳选择,本文将简单介绍SSL证书的加密原理和几种获取免费证书的方式。
星尘安全
2025/05/15
4070
如何获取免费的 SSL 证书?
免费申请通配符域名SSL证书
域名 SSL 证书是数字证书的一种,用于校验服务器身份,同时具有数据加密传输的特性。在开启 SSL 证书之后不仅能够避免敏感信息如帐号密码等遭窃听,同时还能启用 http/2 等高级特性。在最新版的 Chrome 浏览器中,所有非加密链接的网站更是被标识为了不安全。同时我们可以看到,百度、淘宝、京东等网站也早已开启全站 https 加密连接,全民 SSL 时代即将来临。
reizhi
2022/09/26
22.3K0
免费申请通配符域名SSL证书
推荐阅读
相关推荐
HTTPS证书申请及windows server部署
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档