【问题标题】:gitk: tree commit ordering. How to show branch commits consecutivelygitk:树提交排序。如何连续显示分支提交
【发布时间】:2016-05-03 02:10:47
【问题描述】:

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

存储库中有几个分支。开发主要发生在 master 分支中,我们只解决其他分支中的严重错误。无需合并这些分支。如果我们需要一些提交进入多个分支,我们会挑选它们。

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

如果gitk连续显示分支提交会更好(在分支从master分支出来的地方),而不是将最新提交带到顶部。

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

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

【问题讨论】:

  • gitk 实际上运行git loggit rev-list,所有这些都排序; gitk 有自己的处理几个排序标志。如果--topo-order--date-order 没有做你想做的事,可能没有办法做你想做的事。 (我还没有认真考虑你想知道他们是否会这样做。)
  • @torek,我认为--topo-order 是默认值,因为它根本没有改变默认顺序。 --date-order 也没有做我需要做的事情。

标签: git


【解决方案1】:

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

作为一种粗略但有效的解决方法,您可以通过在其顶端放置一个新的 nonce 提交,在兄弟姐妹中首先显示特定的祖先链——因此,如果您想在顶部看到 master 分支,

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-30
    • 2020-03-20
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2013-03-13
    相关资源
    最近更新 更多