假设在 branch1 分支中有一个提交,然后 branch2 分支从中分离出来,并在其中进行了 2 次提交。
Branch1 也有另一个提交。最后,将 branch2 分支合并到 branch1 中。
之后,branch1 和 branch2 分支被删除,经过多年的发展,所有的提交都在 master 中。
现在的问题是:git 如何准确地选择如何绘制这些提交的图表,正如我在上面描述的那样?
他有2个选项可供选择:

git如何选择如何绘制图形?他如何理解他commit 3正在创建一个新分支,而不是commit 5?
问题是,我正在编写一个程序来绘制一个 git 历史图。我知道有现成的程序,但我这样做是出于学习目的。
但我不想解析git log --graph. 我加载有关所有提交的所有数据并根据它们绘制图表。那些。我知道每个提交有哪些提交有祖先和提交子,但是我怎么知道哪些提交子恰好是新分支的创建,哪些是当前分支的延续?
在合并提交中,所有祖先都是有序的。第一个前沿总是来自注入更改的分支,其余的按照合并命令中列出的顺序。
构建图表时,祖先从左到右显示。因此,第一个祖先(通常是主人)的分支是左的和垂直的。