Alt+Shift+H查文件Local History,Ctrl+Shift+H查选中代码块历史;右键Project窗口文件→Git→Show History打开提交历史;跨分支需取消勾选Only Show Selected Branch;Local History不依赖.git,适合误删救急;差分视图空白因文件未被Git跟踪。

WebStorm 里查修改历史,别只盯着一个快捷键猛按——Alt+Shift+H 和 Ctrl+Shift+H 解决的不是同一类问题,用错就白按。
怎么快速打开当前文件的 Git 提交历史
右键必须点在 Project 工具窗口里的文件上,不是编辑器标签页、也不是代码区。菜单出现 Git → Show History 才算路径对了。
- 如果没这个菜单项,先确认项目根目录有
.git,再检查VCS → Git → Remotes是否能正常配置(否则 WebStorm 不认这是 Git 项目) - 打开的 History 窗口默认只显示当前分支,想查跨分支修改,得取消勾选
Only Show Selected Branch - 双击某条记录直接进差异视图;按住
Ctrl(macOS 是Cmd)多选两次提交,右键 →Compare Versions可比任意两个版本
Alt+Shift+H 和 Ctrl+Shift+H 的真实分工
Alt+Shift+H 是整个文件的 Local History 快照,Ctrl+Shift+H 只针对当前选中代码块——但注意:后者不记录“删掉整段函数”这种操作,因为选中区域一旦被删,IDE 就没东西可拍快照了。
- Local History 不依赖
.git,适合误删未保存内容、Git 还没初始化、或刚git reset --hard后救急 - 快照默认每 10 分钟自动存一次,最多保留 5 天(可在
Settings → System Settings → Local History调整) - 如果文件已被删,得先在 Project 视图空白处右键 →
Local History → Show History,再从列表里手动找文件名
对比两个版本时为什么差分视图一片空白
Ctrl+D(Windows/Linux)或 Cmd+D(macOS)触发的是“与 HEAD 比较”,不是“与上一次保存比较”。前提很硬:文件必须已被 Git 跟踪,且至少有一次 commit。
- 新文件没
git add过?右侧会显示no content on remote side,这不是 bug,是设计如此 - 对比窗口右上角有三个视图模式图标:
Side-by-side、Inline、Unified,默认可能是Side-by-side,想看行内红绿标变更,必须点中Inline - 如果差异块颜色看不见,去
Settings → Editor → Color Scheme → Diff & Merge检查Inserted/Deleted/Modified三类颜色是否被设成透明或与背景同色
回滚某几行而不是整个文件
在 Log 或 History 窗口里,按住 Ctrl(macOS 是 Cmd)选中任意两次提交,右键 → Compare Versions 进入差异视图。这个界面比命令行 git diff 更实用:
- 左侧只读(旧版),右侧可编辑(新版)
- 鼠标悬停左侧提交哈希,会弹出完整
commit message和作者信息 - 点击某一行左侧的
→图标,能把那一行“单独还原”到右侧(相当于只 revert 这一行) - 双击差异块,直接跳转到编辑器对应位置
Local History 的快照时间精度是分钟级,Git History 的 commit 时间是秒级——真要定位“刚刚改错的那一行”,得先用 Ctrl+Shift+E 看最近修改文件列表,再结合 Alt+Shift+H 找快照,最后进差异视图点按还原。漏掉其中一环,就容易把整段逻辑一起倒回去。











