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

查询Git中展示合并源%A与%B对应来源提交的命令

Git合并操作中%A、%B对应来源提交的查询方案

首先明确基础对应关系:Git合并场景下的%A为执行合并时所处的当前分支(也称ours端/目标分支)的提交,%B为被合并分支(也称theirs端/源分支)的提交。


合并进行中(冲突未解决,适配merge driver开发场景)

Git会为merge进程直接暴露对应变量,你可以直接调用以下命令获取信息,输出可自定义格式适配正则解析:

  • 获取提交完整元信息:
# 打印%A对应提交全量信息
git log -1 --pretty=full %A
# 打印%B对应提交全量信息
git log -1 --pretty=full %B
  • 自定义固定格式输出(适合正则解析,示例格式为提交哈希|作者名|提交时间|提交标题):
git log -1 --pretty="%H|%an|%ci|%s" %A
git log -1 --pretty="%H|%an|%ci|%s" %B
  • 适配冲突标记的精简输出:
# 输出仅含短哈希和提交标题,可直接插入冲突标注内容中
echo "Ours (%A): $(git log -1 --pretty="%h %s" %A)"
echo "Theirs (%B): $(git log -1 --pretty="%h %s" %B)"

你也可以直接读取merge进程的环境变量GITHEAD_%A_HASH和GITHEAD_%B_HASH获取对应提交的引用名称,不需要额外调用Git命令。


合并已完成后追溯历史合并的%A、%B

已生成的合并提交默认保留两个父提交记录,第一个父提交^1对应当时的%A,第二个父提交^2对应当时的%B,查询命令如下:

# 替换<合并提交哈希>为你要查询的目标合并提交ID
# 查询对应%A提交
git log -1 <合并提交哈希>^1
# 查询对应%B提交
git log -1 <合并提交哈希>^2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:15:03