上海架构师集结!4月25-26日,全球架构师峰会首次落地上海,吴翰清、汪源、叶绍志等大咖确认出席 了解详情
写点什么

Git 2.22:保留拓扑和交互式 Rebase

2019 年 7 月 21 日

Git 2.22:保留拓扑和交互式 Rebase

Git发布的最新版本Git 2.22中,最重要的新功能是,它支持”变基“(rebase)复杂的分支拓扑,例如,对于那些合并后不会扁平化分支拓扑的合并,也允许使用交互式的“变基”功能。


在基础分支(如 master 分支)发生变更后再合并其他功能分支时,”变基“提交是保持 Git 历史记录线性的好方法。在这种情况下,为了保证这两个分支不丢失任何变更,Git 的标准做法是,将 master 合并到功能分支上,然后再尝试将功能分支合回 master。这期间,我们不仅可以解决 Git 无法自己解决的任何合并冲突,而且 Git 还将创建一个 master 分支的提交拓扑,该拓扑在需要三向“合并”时,可以显式地展示合并操作。


与“合并”操作相反,在没有任何冲突的情况下,在有分叉的 master 分支进行“变基”提交时,Git 只会假设你是在当前的 master 结点上开始处理导致该提交的分支。在这种情况下,master 分支的历史记录将不会显示创建了新分支并又将其合回 master 分支的事实。这样整个历史记录看起来是线性的。


如果功能分支想要“变基”自己将会生成一个包括子分支和合并在内的复杂拓扑,在这种情况下,后一种方法就不太适用了。为了解决这个问题,现在可以将新的–rebase-merges 选项用在“新基”上重放一组提交,并能保持“变基”分支的拓扑。此外,它还包括交互式“变基”功能,如重命名、压缩、重新排序等。从概念上讲,使用交互功能进行 rebase-merges(几乎)等同于先执行 preserve-merges,再执行 rebase -i。事实上,在 Git 2.22 中, preserve-merges 选项已弃用,取而代之的是 rebase-merges。具体的可以查看Stack Overflow.上关于 rebase-merge背后算法的深入讨论


在 Git2.22 中,对 rebase-merges 的支持并不是唯一的变化,它还包括很多其他新特性和错误修复。在此,我们重点罗列如下几条:


  • 当需要的粒度比用户允许的更大时,可以为作者和提交者的姓名和电子邮件定义新的配置变量。

  • 可以通过执行 git branch --show-current 来获取当前分支的名称。

  • 如果从一个分支中签出了一个目录,并且当前的目录树中包含了新的跟踪文件,那么在默认情况下,git 将不会关联后者,因此你最终将得到来自已签出分支和当前分支的混合文件。现在,可以通过在 git checkout 上添加–no-overlay 选项,确保可以删除跟踪文件或根据需要进行重新创建。


Git 2.22 的变更内容比本文介绍的要多得多,因此,请阅读官方发布说明来了解完整的细节。


原文链接:


Git 2.22 Adds Topology-preserving, Interactive Rebase


2019 年 7 月 21 日 08:007474
用户头像

发布了 135 篇内容, 共 54.2 次阅读, 收获喜欢 336 次。

关注

评论

发布
暂无评论
发现更多内容

week05 学习总结

李锦

第五周:作业一

carol

一致性Hash算法

第五周作业 一致性hash算法

魔曦

极客大学架构师训练营

Istio 升级新方式:金丝雀升级

郭旭东

Kubernetes 云原生 istio

架构师训练营 - 命题作业 第 5 周

铁血杰克

第五周命题作业

冯凯

一周信创舆情观察(6.29~7.5)

统小信uos

工业互联网 舆情 数据安全

第五周作业 小结

姜 某某

图解:如何理解与实现散列表

淡蓝色

Java 数据结构 算法

第五周作业

王鑫龙

极客大学架构师训练营

啃碎并发(五):Java线程安全特性与问题

猿灯塔

实现一致性 hash 算法

戴维斯

极客大学架构师训练营

半小时,将你的Spark SQL模型变为在线服务

范式AI云

Python spark Sparksql Apache Spark 数据模型

Week05总结

熊威

一致性hash算法java代码实现

Thrine

一致性哈希实现

elfkingw

极客大学架构师训练营

架构师训练营-week5-作业

晓-Michelle

极客大学架构师训练营

架构师训练营第 05 周——总结

李伟

第五周作业总结

Thrine

Hash 一致性虚拟节点算法

李锦

第五周:总结

carol

架构师训练营第5周命题作业

hifly

测试 极客大学架构师训练营 一致性哈希

图解:什么是“图”?

淡蓝色

Java 数据结构 算法

架构师训练营第五周命题作业

whiter

极客大学架构师训练营

架构师训练营第五周总结

王鑫龙

极客大学架构师训练营

架构师训练营 - 学习总结 第 5 周

铁血杰克

第五周学习总结

潜默闻雨

第5周命题作业-实现一致性HASH

Dawn

架构师训练营 - 第⑤周总结

牛牛

学习 极客大学架构师训练营

一致性 hash 算法

changtai

极客大学架构师训练营

架构师训练营 - 学习总结 - 第五讲

吕浩

OCR技术的未来发展与演进

OCR技术的未来发展与演进

Git 2.22:保留拓扑和交互式 Rebase-InfoQ