如何让git log始终将master分支显示为左侧主分支?
如何固定Git Log图形化输出中master分支在左侧显示?
执行git log --all --oneline --graph命令时,Git会自动将拥有最新提交的分支放在输出左侧,导致master分支的位置随提交变动:
比如feat分支有最新提交时,输出为:
* a9815e5 (HEAD -> feat) f2 * efe97d6 f1 | * 797b857 (master) m1 |/ * 5074e60 c1
当在master分支新增提交后,输出变为:
* 158dd8f (HEAD -> master) m2 * 797b857 m1 | * a9815e5 (feat) f2 | * efe97d6 f1 |/ * 5074e60 c1
希望将master分支固定为左侧主分支,期望输出如下(feat分支有新提交时):
* a9815e5 (HEAD -> feat) f2 * efe97d6 f1 * 797b857 (master) m1 |/ * 5074e60 c1
或者master分支新增提交后的形式:
* 158dd8f (HEAD -> master) m2 | * a9815e5 (HEAD -> feat) f2 | * efe97d6 f1 * 797b857 (master) m1 |/ * 5074e60 c1
解决方案
Git本身没有直接参数强制固定分支位置,但可通过调整命令的分支顺序和排序规则实现:
使用
--topo-order保证拓扑排序,同时将master作为第一个指定分支,结合--all展示所有分支:git log --all --oneline --graph --topo-order master该命令会优先将master分支的提交流放在左侧,其他分支作为旁支展示,不会因分支提交时间改变master的位置。
可给该命令设置全局别名,方便后续使用:
git config --global alias.lg "log --all --oneline --graph --topo-order master"之后直接执行
git lg就能得到固定master在左侧的日志输出。
内容的提问来源于stack exchange,提问作者hogan
相关产品推荐
相关产品推荐

