如何查看当前分支从父分支分出后产生的所有独有提交记录
解决方案
以下是Git中实现该需求的常用方法:
- 最简便的双点语法(以父分支为
master、你当前处于feature-branch为例):
执行命令git log master..
该命令会自动筛选出所有存在于当前分支、但不存在于master分支的提交,完全匹配你示例中只列出C、D的需求。省略的位置默认指代当前分支的最新提交HEAD,和完整写法git log master..HEAD效果一致。如果你的父分支不是master,把命令中的master替换成实际的父分支名称即可。 - 如果需要更精简的单行展示提交信息,加上
--oneline参数即可:git log --oneline master.. - 若需要同时查看每个提交对应的代码改动,加上
-p参数:git log -p master.. - 若分支存在合并提交、不需要展示合并记录,加上
--no-merges参数:git log --no-merges master.. - 如果你不清楚父分支名称,也可以先找到两个分支的分叉点后查询:
- 先执行
git merge-base HEAD master获取分叉提交的哈希值 - 再执行
git log 获得的哈希值..HEAD,效果和双点语法完全一致
- 先执行
内容的提问来源于stack exchange,提问作者fudo
相关产品推荐
相关产品推荐

