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

如何基于历史Commit Hash在VS Code中打开新窗口并比对代码?

对比Git历史正常提交与当前代码的方法

假设某历史提交中某项功能正常运行,之后修改了相关代码,想要对比该正常提交与当前代码的差异,无需在分支与旧提交间来回切换的实用方法如下:

全量差异快速对比

  1. 定位到功能正常的历史提交,获取它的Commit Hash;
  2. 确保当前处于有问题的分支上;
  3. 执行命令:
    git diff <commit-hash>
    
    该命令会直接展示当前分支代码与目标历史提交的所有差异。

单个文件精准对比

如果全量差异过多难以定位问题,可以指定具体文件进行对比:
执行命令:

git diff <commit-hash> -- file-path

差异内容会在VIM编辑器中显示,聚焦单个文件的改动。

手动复制文件比对(VIM不满足需求时)

如果需要更灵活的比对方式,可手动导出旧版本文件:

  • 执行git checkout <commit-hash>切换到功能正常的历史提交;
  • 复制目标文件的全部内容;
  • 执行git checkout og_branch切回原分支;
  • 创建新文件(例如settings_old.py),将复制的旧代码粘贴进去;
  • 把新旧文件并排打开,直观对比差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 04:57:05