在我的git存储库中,有4个开发人员在工作。我们喜欢保持我们的git树直接(没有任何合并提交),所以我们使用fetch和rebase方法而不是pull(merge)。
存储库中有几个分支。开发主要发生在master分支中,我们只解决其他分支中的关键错误。没有必要合并这些分支。如果我们需要一些提交进入几个分支,我们会挑选它们。
我的问题是,每当我提交除master之外的分支时,如果我打开gitk并尝试查看树,则此提交将出现在树的顶部。由于分支很久以前从主分支分支出来,所以有一条很长的延续线(gitk向下显示一个箭头)。因此,树的清晰度会降低。
如果gitk连续显示分支提交(在分支从主服务器扩展的位置),而不将最新的提交带到顶部,那会更好。
以下是我得到的一个例子。如你所见,有一条延续线(红线),这在我的实际回购中可能很长。此外,提交9和3显示在我的实际仓库中的延续行的底部,因此repo提交不会连续显示。
有没有人知道指示gitk连续显示分支提交的方法?或者任何其他可以像我想要的那样显示树的工具?
答案 0 :(得分:0)
您在图表中显示的内容是--topo-order
,它只会破坏(潜在)合并基础之间的第一个父链,并且我认为按照最新提示显示这些链。我认为你要求的是一个"最长链的第一个"顺序,哪个链具有最近的活动并不重要,只有哪个链具有最多的活动。那个,git没有。
作为一种原始但有效的解决方法,您可以通过在其顶端放置一个新的nonce提交来获得在兄弟姐妹中首先显示的特定祖先链 - 所以如果您想在顶部看到主分支,< / p>
git tag highlight/master-branch $(git commit-tree -p master master: </dev/null)