从 git log --graph 中排除遥控器

pav*_*von 6 git

我想展示我所有 git 分支之间关系的简单图表。到目前为止,我得到的最接近的是这个命令:

git log --graph --oneline --branches --decorate --simplify-by-decoration

但是,我从事的项目有大量其他开发人员使用的远程分支,我不关心这些分支,并且将它们包含在图表中使我很难看到我的分支之间的联系。我试过添加--not --remotes="*",但这消除了太多提交,以至于我完全松散了树结构,只得到了一个像branch -v.

有什么建议?

编辑:我想使用标准命令行工具找到可能的最佳解决方案,因为我通常不在自己的计算机上工作,并且不能依赖正在安装的其他第三方软件。

jth*_*ill 2

这是一个粗略但有效的方法:

temp=`mktemp -u`
git clone -s --bare `git rev-parse --git-dir` $temp
git --git-dir=$temp log --graph --decorate --oneline --branches --simplify-by-decoration
rm -rf $temp
Run Code Online (Sandbox Code Playgroud)

-s选项告诉 git 制作一个轻量级的克隆,并且git log不需要工作树。