gpt4 book ai didi

git - 为什么 git 分支图不跟踪分支 "correctly"?

转载 作者:太空狗 更新时间:2023-10-29 13:22:07 24 4
gpt4 key购买 nike

下面的屏幕截图来自 SourceTree。我创建了一个简单的 git repo,其中包含一些提交。对于每次提交,评论都会说明我在提交时所在的分支。

An arguably suboptimal commit diagram

如您所见,树状图(可以说)不是最理想的,因为提交到 master 的颜色并不完全相同,也不在一个 channel 中。这是为什么?

(GitHub和BitBucket画的 TreeMap 好像也有类似的问题,所以不只是SourceTree。)

显然,在这个简单的示例中这并不重要,但在我的一些项目中,我们使用了 git-flow 的变体,当您查看时,通常很难跟踪每个 git-flow“泳道”在树状图。在某种程度上,这是因为树状图不会随着时间的推移使每个泳道保持相同的颜色。

我怀疑 TreeMap (可以说)不是最优的,因为 git 存储库实际上没有包含足够的信息来按照我想要的方式绘制 TreeMap 。特别是,当两个提交是一个公共(public)提交的子提交时(例如,当您分支时),git 不知道父提交是否与子 1 或子 2“在同一分支上”。或者,换句话说,它不知道不知道哪个 child 是 Twig ,哪个是树干的延续。我有这个权利吗?

最佳答案

在 git 中,“分支”被实现为指向变更集的指针。

这意味着,一个特定的变更集可能同时“属于”几个分支。

也就是说 - 它在运行时解决,在你删除一个分支(或以任何其他方式修改你的图表)之后 - 你无法分辨它最初提交给哪个分支。

在您的情况下,94f458e 变更集确实属于 masterrelease,因此图表是完全正确的。

关于git - 为什么 git 分支图不跟踪分支 "correctly"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26769055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com