搜索
首页web前端css教程rebase与合并:整合GIT的变化

rebase与合并:整合GIT的变化

本文继续我们的“高级git”系列。在Twitter上关注我们,或订阅我们的新闻通讯以获取有关未来文章的最新信息!

有效的GIT分支对于开发人员至关重要。我上一篇文章详细介绍了分支策略,GIT的分支模型,分支类型和常见的工作流程。核心好处:孤立的工作区(分支)显着改善了版本控制。

本文着重于整合分支机构 - 将代码有效地合并回主开发线路。我们将探讨两种关键方法:合并和重新构造。

git mergegit rebase都解决了相同的问题:将一个分支的变化整合到另一个分支。但是,他们的方法差异很大。让我们先检查合并。

高级GIT系列:

  • 第1部分:制定理想的吉特犯罪
  • 第2部分:优化GIT分支策略
  • 第3部分:简化与拉请求的合作
  • 第4部分:有效解决合并冲突
  • 第5部分: rebase vs. Merge(您在这里!
  • 第6部分:掌握互动式重新启动
  • 第7部分:挑选樱桃的git提议
  • 第8部分:利用反射仪恢复丢失的提交

了解GIT合并

git merge命令集成了分支。想象一下branch-B带有新提交;合并成branch-A

 <code>$ git checkout branch-A $ git merge branch-B</code>

这会在branch-A上创建一个新的合并提交,并连接两个分支历史。 GIT标识了三个关键提交:

  • 共同的祖先:两个分支在分歧之前共享相同代码的点。
  • 分支端点:每个分支上的最新提交,代表其当前状态。

git结合了这些承诺以实现整合。简化的方案( branch-A以来分支以来没有提交的情况)导致“快速前进”合并 - 有效地添加了branch-B的直接提交。

但是,在大多数实际情况下,两个分支都独立发展。然后,与开发人员创建的提交不同,GIT创建了合并提交来结合这些更改的合并,这是自动生成的独特犯罪。了解此自动合并需要分析完整的分支历史。

人与合并提交

开发人员创建的提交经过精心构建,其中包含相关的更改和信息信息。相反,合并提交会自动连接分支,而不一定代表一系列具有语义连贯的更改。

与重新构造集成

重新打造提供了合并的替代方法。它本质上不是“更好”,只是不同的。您可以仅通过合并而成功管理git。但是,理解重新打击提供了宝贵的选择。

重新启动避免自动合并提交,创建线性项目历史记录,消除分支差距。

重新打击:逐步指南

让我们将branch-B重新为branch-A

 <code>$ git checkout branch-A $ git rebase branch-B</code>

该过程涉及三个步骤:

  1. 暂时删除提交:在暂时存储共同祖先之后在branch-A上提交。
  2. 应用branch-B的提交:应用branch-B的提交,暂时对齐两个分支。
  3. 重新校长branch-A的提交:暂时存储的branch-A提交被重新应用于branch-B的提交,创建了线性历史记录。

结果:简化的历史没有合并。

rebasing的潜在陷阱

至关重要的是,重新编写命令历史。虽然内容保持不变,但提交的父母会改变,生成新的SHA-1哈希。

这对于未出版的提交是可以接受的。但是,重新出版的提交是有风险的,有可能破坏基于原始提交的工作的合作者。

黄金法则:永远不要反映公共分支机构!在集成到共享分支之前,请在本地使用重新打扫以清理历史记录。

集成策略:合并与重生

合并和重新构造都是有价值的工具。合并历史无损。重新设计精简历史,但需要谨慎对待发表的提交。

探索我免费的“高级GIT套件”,以深入了解GIT工具。

愉快的合并和重组!在下一个“高级git”部分中见!

高级GIT系列:

  • 第1部分:制定理想的吉特犯罪
  • 第2部分:优化GIT分支策略
  • 第3部分:简化与拉请求的合作
  • 第4部分:有效解决合并冲突
  • 第5部分: rebase vs. Merge(您在这里!
  • 第6部分:掌握互动式重新启动
  • 第7部分:挑选樱桃的git提议
  • 第8部分:利用反射仪恢复丢失的提交

以上是rebase与合并:整合GIT的变化的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
两个图像和一个API:我们重新着色产品所需的一切两个图像和一个API:我们重新着色产品所需的一切Apr 15, 2025 am 11:27 AM

我最近找到了一种动态更新任何产品图像的颜色的解决方案。因此,只有一种产品之一,我们可以以不同的方式对其进行着色以显示

每周平台新闻:第三方代码,被动混合内容,连接最慢的国家的影响每周平台新闻:第三方代码,被动混合内容,连接最慢的国家的影响Apr 15, 2025 am 11:19 AM

在本周的综述中,灯塔在第三方脚本上阐明了灯光,不安全的资源将在安全站点上被阻止,许多国家连接速度

托管您自己的非JavaScript分析的选项托管您自己的非JavaScript分析的选项Apr 15, 2025 am 11:09 AM

有很多分析平台可帮助您跟踪网站上的访问者和使用数据。也许最著名的是Google Analytics(广泛使用)

它全部都在头上:管理带有React头盔的React Power Site的文档头它全部都在头上:管理带有React头盔的React Power Site的文档头Apr 15, 2025 am 11:01 AM

文档负责人可能不是网站上最迷人的部分,但是其中所处的内容对于您的网站的成功也一样重要

JavaScript中的Super()是什么?JavaScript中的Super()是什么?Apr 15, 2025 am 10:59 AM

当您看到一些称为super()的JavaScript时,在子类中,您会使用super()调用其父母的构造函数和超级。访问它的

比较不同类型的本机JavaScript弹出窗口比较不同类型的本机JavaScript弹出窗口Apr 15, 2025 am 10:48 AM

JavaScript具有各种内置弹出API,它们显示用于用户交互的特殊UI。著名:

为什么可访问的网站如此难以构建?为什么可访问的网站如此难以构建?Apr 15, 2025 am 10:45 AM

前几天,我与一些前端人们聊天,讲述了为什么这么多公司努力创建可访问的网站。为什么可访问的网站如此艰难

'隐藏”属性显然很弱'隐藏”属性显然很弱Apr 15, 2025 am 10:43 AM

有一个HTML属性,它可以正是您认为应该做的:

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境