![]() |
1
6
它是为了展示父母的关系。在Git中,特定的提交知道它的父级,但不一定知道它的子级。(显然,信息可以根据父链接派生,但我认为它不是直接存储在提交对象中。) |
![]() |
2
11
箭头反映了方向,后跟a dag,directed-acyclic-graph >strong>representating here the history of commits in git(from most recent to oldest).& 该表示不是一个“完美”的表示,如他的文章中的eric sink details < Buff行情>基于DAG的版本控制工具最酷的一点是DAG是合并历史的表达式。我们将DAG中的箭头解释为“我有这个”。 < /块引用>
所以,当需要从5b合并到(a)分支时,我们可以使用DAG中的信息来知道3b和2b已经完成了。 < /块引用>同一篇文章详细说明了该表示的限制: < Buff行情>但是DAG只是合并历史的一种实现,它绝对不是完美的。
版本控制DAG中的箭头从子级变为父级。它告诉我们,该子级包含父级中的所有更改。还有它的祖父母。还有它的曾祖父母。等等。 但如果这不是真的呢? 考虑下图: < /块引用>
我想创建变更集4。
我如何在DAG中表示这个? 我不能。< /块引用>
不管是哪种情况,下次我从一个分支合并到另一个分支时都会发生一些糟糕的事情:
这两个问题都不足以造成灾难性的晚间新闻,但仍然如此。 < /块引用> 这就是为什么 a rebase is never far after a cherry pick operation,in order to get back a more classic dag. DAG, Directed Acyclic Graph 在此表示Git中的提交历史(从最近到最早)。 这种表现不是一种“完美”的表现,因为 Eric Sink details in his article :
同一篇文章详细说明了这种表述的局限性:
这就是为什么 a rebase is never far 经过一次樱桃采摘手术后,为了找回一把更经典的匕首。 |
![]() |
Harry · 如何在编译时获取克隆的git仓库的标签 5 月前 |
![]() |
Ooker · 如何从blob中删除秘密? 5 月前 |
![]() |
hasdrubal · git日志图智能分支过滤器 6 月前 |
![]() |
J. Doe · 为什么git中没有跟踪git文件? 6 月前 |