Alt+9(Windows/Linux)或Cmd+9(macOS)是查看Git本地修改历史最稳入口,打开Version Control面板后默认显示Local Changes标签页,实时反映未提交变更,支持双击diff、右键Add/Rollback等操作。

直接按 Alt+9(Windows/Linux)或 Cmd+9(macOS),就能唤出 Version Control 工具窗口,里面默认就是 Git 的「Log」标签页——这才是查本地修改历史最稳、最全的入口。
为什么不是 Ctrl+Shift+E?
很多人误以为 Ctrl+Shift+E 是万能入口,但它只打开 Git Log 工具窗口,且默认不聚焦到「当前工作区未提交的修改」。而 Alt+9 打开的是 Version Control 面板,左侧天然区分「Local Changes」「Log」「Console」三块,一眼就能看到哪些文件被改了、没 add、没 commit。
-
Ctrl+Shift+E适合查已提交的历史流,但看不到 staging 区和 working tree 的差异 -
Alt+9的「Local Changes」标签页实时反映git status结果,双击文件直接进 diff,右键可Git → Add或Rollback - 如果
Alt+9没反应,先确认 VCS 是否启用:Settings → Version Control → 确保 Git 被选为 Default VCS,并且.git在项目根目录
Local Changes 标签页里怎么看懂那些图标和状态?
Version Control 面板里的文件列表用颜色和前缀标出 Git 状态,不是靠猜:
- 绿色带
+:新文件,未git add过(相当于untracked) - 蓝色带
M:已跟踪但修改未暂存(modified) - 红色带
M:已暂存但未 commit(staged) - 灰色带
D:已删但还没git rm(deleted) - 如果文件名后跟
(renamed),说明 PhpStorm 检测到重命名,但 Git 还没确认——这时右键选Git → Move才能保留历史
想快速比对某次修改和当前文件?别点 Show History
右键单个文件 → Show History 只查该文件的提交记录,对「刚改完还没保存」或「保存了但没 commit」的本地修改无效。真正管用的是:
立即学习“PHP免费学习笔记(深入)”;
- 在
Alt+9的「Local Changes」里找到目标文件 → 右键 →Git → Compare with Latest Repository Version(等价于git diff HEAD -- path) - 如果文件已保存但还没 add,这个操作会显示「working tree vs index」;如果已 add 但没 commit,则是「index vs HEAD」
- 对比窗口右上角有三个视图模式:
Side-by-side(默认)、Inline(行内标红绿)、Unified(传统 patch 格式)。要看出哪几个字符被改,必须切到Inline模式 - 注意:
Ctrl+D是快捷键,但它只对已git add的文件生效;新文件或未跟踪文件按Ctrl+D会提示no content on remote side,不是 bug
删错文件或改崩配置,怎么救回来?
Git 还没 add/commit 的时候,Alt+9 里的 Local Changes 是第一道防线;但如果已经点了 Rollback 或手抖删了整个文件,就得切到 Local History:
- 在 Project 视图里右键该文件(或空白处,如果文件已删)→
Local History → Show History - 或者快捷键:
Alt+Shift+H(Win/Linux)、Cmd+Shift+H(macOS) - 关键限制:Local History 不记录 author,也不同步到其他机器;它只存
.idea/localHistory/下的二进制快照,删掉.idea就永久丢失 - 恢复时别直接点
Revert——它会覆盖整个文件。想只拿回某几行,双击历史版本进对比视图,再右键选Copy Lines from Left to Right
最易被忽略的一点:Alt+9 面板的「Local Changes」不会自动刷新。改完代码后如果没看到新条目,手动点一下面板右上角的 Refresh 图标(或按 Ctrl+R),否则可能以为 IDE 没检测到修改。


















