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

如何用Git验证被撤销后重提交的提交与原提交完全一致?

如何验证Git提交fff与bbb内容完全一致(Windows环境无额外工具)

场景说明

现有提交历史如下:

1. aaa original code 
2. bbb the change 
3. ccc unrelated change 1 
4. ddd reversed bbb for some reason
5. eee unrelated change 2

代码作者提交了包含变更fff的PR,声称该PR仅撤销提交ddd,完全恢复bbb的内容。需要验证bbb与fff的提交内容完全一致,且要求在Windows环境下操作,无需diff、sed、awk等第三方工具。

验证方法(Git原生命令)

Git中,若两个提交的文件内容完全一致,它们对应的树对象(tree)哈希值会完全相同。以下是无需额外工具的验证命令:

1. 直接对比提交的树对象哈希

分别执行以下命令获取两个提交的树哈希:

git show --format="%T" bbb
git show --format="%T" fff
  • 说明:%T参数指定仅输出提交对应的树对象哈希值,若两个输出的哈希完全一致,说明bbb和fff的文件内容100%相同。

2. 用rev-parse直接获取树哈希

也可以用更简洁的命令直接提取树哈希:

git rev-parse bbb^{tree}
git rev-parse fff^{tree}
  • 说明:^{tree}是Git的特殊语法,用于直接定位到提交对应的树对象,输出结果和上一种方法完全一致,对比哈希值即可验证内容一致性。

3. 辅助验证fff是否确实是ddd的撤销(可选)

如果需要进一步确认fff仅撤销了ddd,可以查看提交链:

git log --oneline --graph bbb..fff

该命令会展示从bbb到fff的提交路径,确认中间只有ddd和fff两个提交。此外,还可以用Git自带的diff工具对比ddd和fff:

git diff ddd fff

Windows下Git自带的diff无需额外工具,若输出的diff正好是ddd的反向变更(即与bbb相对于aaa的diff一致),则说明fff确实完全恢复了bbb的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 15:46:01