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

如何对比暂存区(index)与特定提交中的不同文件?

Git 对比暂存区文件与历史提交中另一文件的正确命令

要对比暂存区(index)中的a1.txt与提交head~4中的a2.txt,正确的命令是:

git diff head~4:a2.txt :a1.txt

命令说明:

  • head~4:a2.txt:指定引用提交head~4中的a2.txt文件
  • :a1.txt:冒号前缀代表引用暂存区中的a1.txt文件,这是Git中引用暂存区文件的标准写法

你之前尝试的git diff --cached head~4:a2.txt a1.txt无效的原因是:--cached参数的作用是对比暂存区与当前HEAD的文件内容,但当你同时指定两个具体文件引用时,这个参数会干扰Git的解析逻辑,直接使用不带--cached的格式,明确指定两个不同位置的文件即可完成跨位置跨文件的对比。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 02:12:01