You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Git命令对比最新合并操作与合并前的变更?

解决方法

情况1:刚完成合并且未产生新提交

如果你刚执行完合并操作,当前HEAD就是合并提交,直接用以下命令获取本次合并变更的JSON文件列表:

git --no-pager diff --name-only --relative HEAD^ HEAD *.json
  • HEAD^ 指向合并前分支的最后一个提交
  • HEAD 是本次合并生成的提交
  • 该命令会输出合并后变更的所有.json文件

情况2:合并后已有其他提交

如果合并后又做了新的提交,需要先找到最新的合并提交SHA,再对比差异:

  1. 获取最新合并提交的SHA:
git log --merges -n 1 --format="%H"
  1. 用SHA替换<merge-sha>,执行差异对比:
git --no-pager diff --name-only --relative <merge-sha>^ <merge-sha> *.json

说明

合并提交有两个父节点:

  • <commit>^ 是你合并目标分支的最后一个前置提交(合并前的状态)
  • <commit>^2 是被合并分支的最后一个提交
    对比<commit>^和<commit>就能得到本次合并给目标分支带来的所有文件变更,正好符合你需要筛选变更文件打标签同步的需求。

内容的提问来源于stack exchange,提问作者Vanz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 09:00:02