本文继续我们的“高级git”系列。在Twitter上关注我们,或订阅我们的新闻通讯以获取有关未来文章的最新信息!
有效的GIT分支对于开发人员至关重要。我上一篇文章详细介绍了分支策略,GIT的分支模型,分支类型和常见的工作流程。核心好处:孤立的工作区(分支)显着改善了版本控制。
本文着重于整合分支机构 - 将代码有效地合并回主开发线路。我们将探讨两种关键方法:合并和重新构造。
git merge
和git 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>
该过程涉及三个步骤:
-
暂时删除提交:在暂时存储共同祖先之后在
branch-A
上提交。 -
应用
branch-B
的提交:应用branch-B
的提交,暂时对齐两个分支。 -
重新校长
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中文网其他相关文章!

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

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

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

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

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


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

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

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版
好用的JavaScript开发工具

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