如何对比变基后的git分支b1与备份分支b2,排除master分支的改动?
解决方案
你可以通过以下两种Git原生命令实现需求,无需手动核对:
方案1:使用git range-diff(推荐,适配变基场景)
git range-diff是Git专门为对比变基前后分支差异设计的命令,会自动排除上游分支(master)的公共改动,仅展示你在变基过程中新增、调整的内容:
- 执行命令:
git range-diff master...b2 master...b1
- 输出说明:会逐提交对比变基前的b1(即现在的b2分支)和变基后的b1分支的差异,清晰展示新增提交、提交内容调整、冲突修改的具体内容,完全过滤master本身的改动。
方案2:对比双分支相对master的差异(适合仅看最终文件差异)
如果你不需要关注提交层面的变化,只需要看两个分支最终文件排除master改动后的差异,可以按以下步骤操作:
- 导出b2分支相对于master的所有改动:
git diff master b2 > diff_b2.log - 导出当前b1分支相对于master的所有改动:
git diff master b1 > diff_b1.log - 对比两个diff文件即可得到你需要的差异,可使用任意文本对比工具,比如本地执行:
diff diff_b2.log diff_b1.log
也可以用VS Code等可视化工具打开两个文件直接对比。
内容的提问来源于stack exchange,提问作者akhilrawat001
相关产品推荐
相关产品推荐

