如何检查本地 git 存储库的嵌套结构

how to check nesting structure of local git repository

作为开发人员,我正在开发一个大型产品,我有很多本地分支机构,我想可视化 git 分支嵌套工作流程,即

master---------
     \
      \
      branch a--------
              \
               \
                branch child----

我怎样才能得到这样的东西 我搜索了很多,但我找到了解决方法,这对我来说没有用,比如检查完整的日志等,还有解决这个问题的另一种方法吗?

之前还有另一个离开公司的开发人员在同一台电脑和 repo 上工作,所以有 50 多个分支,所以了解他在本地的工作流程对我来说非常重要

来自 git 日志 documentation:

git log --branches --not --remotes=origin

显示在任何本地分支中但不在任何远程跟踪源分支中的所有提交(您拥有的源没有)。

git log master --not --remotes=*/master

显示在本地 master 中但不在任何远程存储库 master 分支中的所有提交。

检查这是否有帮助

编辑 1

git log --graph --branches --not --remotes=origin

查看树状结构中分支的最接近方法是使用 git log 命令。

git log --graph --simplify-by-decoration --pretty=format:'%d' --all

有关这方面的更多信息,请参阅 this answer

您可以尝试使用 gitg 或任何类似的可视化表示工具。它们将为您提供一种更简单的方式来查看嵌套结构,您还可以搜索提交,就像您在 git branch --contains 中获得的一样(而无需购买大量咖啡豆;) )

当我对分支结构的形状比对特定提交本身更感兴趣时,我就会使用它。不是漂亮的渲染,但简洁。

git log --decorate --all --graph --simplify-by-decoration --topo-order --date=short --format='%h [%cd]%d %s'

我将其存储为别名 shape