Git 图:开发分支显示为线性而不是 master 的发散分支(我认为)

Git graph: develop branch shown as linear instead of as a diverged branch of master (that I think)

我有两个分支:master & developDevelop 在 master 上第二次提交后与 master 不同,并且有自己的 3 次提交。然而,gitk 和命令行中的图形显示为线性,如下所示:

我相信它应该更像一个分支,如下所示:

我仍在学习基础知识,甚至不确定我对分支图应该是什么样子的解释是否正确。

谢谢 应用

两张图片显示的是同一件事。当您在 git 上创建分支时(与 svn 不同),不会创建新的修订版。它只是一个指向修订的新指针(创建另一个分支时使用的是同一个主控)。你开始在另一个分支上提交,这是一个线性流程。如果您随后在 master 上提交 something else,您将能够看到分支分歧。可以这样想:忘记 master 在哪里。如果您想查看另一个分支的历史记录,那将是一个直接的修订序列。但是 master 是其中一个修订的指针

甜甜圈和咖啡杯有什么区别?

To a topologist, they are the same thing!(这就是拓扑学家不断尝试将咖啡杯浸入甜甜圈的原因。)

同样的想法也适用于 Git 提交图。两者之间没有区别:

o--o--o
       \
        o--o--o

和同一个图形的直线版本:它们以任何一种方式表示同一个图形。

他们没有"diverged",因为在master 上没有并行工作。 master 仍然包含 develop 上的一部分更改。在这种情况下渲染曲线没有任何价值。

只有当两个 分支都在分歧点之后包含提交时,才会出现您期望看到的图表。如果您在 master 上添加提交,Git(和 gitk)将使用分叉呈现图形。