如何使用git log仅显示Git中master分支的所有提交记录
过滤展示master分支独有提交的Git log用法
当master和feature分支存在过合并记录时,直接执行git log master会把两个分支的提交都展示出来,要只看master分支自身的所有提交,可以用下面几个命令:
- 基础过滤命令:
git log master ^feature
这个命令的规则是输出所有存在于master分支、但不存在于feature分支的提交,刚好能筛掉feature分支的提交内容,不会混入feature上的开发记录。 - 等价简写语法:
git log feature..master
Git的双点语法和上面的排除写法效果完全一致,语义是「列出所有在后一个分支上、不在前一个分支上的提交」,日常敲命令更简洁。 - 附加参数适配常用场景
- 如果想简化输出、直观看到提交线,追加
--oneline --graph参数即可,比如git log feature..master --oneline --graph,会以短哈希+分支图的形式展示结果 - 如果不想看到分支合并产生的merge节点,追加
--no-merges参数即可,比如git log feature..master --no-merges,输出就只会保留master上的实际功能提交
- 如果想简化输出、直观看到提交线,追加

执行命令前建议先跑一次
git fetch拉取最新的远端分支记录,避免本地分支版本过旧导致过滤结果不符合预期。
内容的提问来源于stack exchange,提问作者Bill
相关产品推荐
相关产品推荐

