gitk:树提交排序。如何连续显示分支提交

gitk:树提交排序。如何连续显示分支提交,git,Git,在我的git存储库中,有4名开发人员正在工作。我们喜欢保持我们的git树笔直(没有任何合并提交),所以我们使用fetch和rebase方法而不是pull(合并) 存储库中有几个分支。开发主要发生在主分支中,我们只解决其他分支中的关键错误。不需要合并这些分支。如果我们需要一些承诺去几个分支机构,我们会挑选它们 我的问题是,每当我对master以外的分支进行提交时,如果我打开gitk并尝试查看树,该提交就会出现在树的顶部。因为分支很久以前就从主分支分支分支出来了,所以有一条很长的延续线(gitk显示

在我的git存储库中,有4名开发人员正在工作。我们喜欢保持我们的git树笔直(没有任何合并提交),所以我们使用fetch和rebase方法而不是pull(合并)

存储库中有几个分支。开发主要发生在主分支中,我们只解决其他分支中的关键错误。不需要合并这些分支。如果我们需要一些承诺去几个分支机构,我们会挑选它们

我的问题是,每当我对master以外的分支进行提交时,如果我打开gitk并尝试查看树,该提交就会出现在树的顶部。因为分支很久以前就从主分支分支分支出来了,所以有一条很长的延续线(gitk显示向下的箭头)。因此,树的清晰度降低

如果gitk连续显示分支提交(在分支从主分支出的位置),而不将最新提交带到顶部,则会更好

下面是我得到的一个例子。正如你所看到的,有一条延续线(红线),在我的实际回购中,这条线可能很长。此外,提交9和3显示在我的实际回购的续行底部,因此回购提交不会连续显示


有人知道如何指示gitk连续显示分支提交吗?或者任何其他可以像我想要的那样显示树的工具?

您在图形中显示的是
--topo order
,它只打断(潜在)合并基之间的第一个父链,并按最新提示的顺序显示这些链。我认为您要求的是“最长链优先”订单,其中哪条链具有最新的活动并不重要,只有哪条链具有最多的总活动。那是git没有的

作为一种粗糙但有效的解决方法,您可以在兄弟姐妹之间首先显示一个特定的祖先链,方法是在其顶端放置一个新的、暂时的提交——因此,如果您希望在顶部看到主分支

git tag highlight/master-branch $(git commit-tree -p master master: </dev/null)

git标记高亮显示/主分支$(git commit tree-p master master:
gitk
实际运行
git log
git rev list
,所有这些都是排序;
gitk
对多个排序标志都有自己的处理。如果
--topo order
--date order
不满足您的要求,那么可能没有办法满足您的要求。(我还没有仔细考虑你想知道他们是否会这样做。)@torek,我认为
--topo order
是默认的,因为它根本没有改变默认的顺序。
--date order
也没有做我需要做的事情。