如何过滤掉与拓扑无关的git-log提交?

时间:2019-07-15 16:51:18

标签: git

我正在尝试可视化git存储库中分支之间的关系。它们中有很多提交,因此git log --oneline --graphgit show-branch会有很多干扰。

我希望该图仅显示:

  • 在命令行上给出的引用
  • 在历史上与多于一位的父母在一起,并且那些父母
  • 在他们的历史中致力于一个以上的孩子,而那些孩子

可以做到吗?

1 个答案:

答案 0 :(得分:1)

您可以接近--simplify-by-decoration,它还会列出上面带有标签的提交。要减少不必要的聊天,您可以使用我最喜欢的技巧之一,

git clone -ns --no-tags . `mktemp -d`
git -C $_ log --graph --decorate --oneline --all --simplify-by-decoration

该克隆文件很小,对于Linux存储库来说,它的大小为36KB。

该列表未列出每次合并的直接父级,而是选择了祖先的不同部分以尽可能紧凑地显示该结构而不会丢失任何结构,但它可能足够接近该结构。

您找不到从该提交开始的某个提交的子代,您必须从您关心的所有提示中退回,因此,如果某个提交不在任何分支中,则找不到它。提交没有任何历史记录,无论如何也没有任何进展,所以...