如何查看排除特性提交的线性git log,仅显示main分支提交与合并
解决Git日志仅显示主分支直接提交与合并提交的问题
你需要的是只追踪主分支的第一个父提交,用--first-parent参数就能实现这个需求。这个参数会让Git在遍历提交历史时,只跟随每个合并提交的第一个父节点(也就是主分支原本的提交链),自动忽略feature分支上的所有提交,最终得到你想要的线性历史。
结合你的git lg别名,直接执行以下命令即可:
git lg --first-parent main
执行后输出会和你期望的一致:
* 3333333 - merge of feature branch into `main` * 2222222 - some other commit * 1111111 - initial commit
如果想让git lg默认就展示这种线性历史,可以修改全局别名:
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --first-parent"
之后直接敲git lg就会显示主分支的线性提交链,要是偶尔需要查看完整的分支合并图,加--no-first-parent参数即可:
git lg --no-first-parent
内容的提问来源于stack exchange,提问作者Gabriel Staples
相关产品推荐
相关产品推荐

