如何在PhpStorm中提交Git时忽略未修改文件
嘿,我太懂这种糟心的情况了——明明只改了几个文件,结果git和PhpStorm全显示所有文件都变了!大概率是换行符配置或者文件权限的锅,毕竟Ubuntu环境下git的默认设置容易和IDE出现不兼容,给你一步步搞定:
1. 先搞定最常见的换行符问题
这种情况在跨环境开发里特别常见,Ubuntu用LF换行,要是git配置了自动转换,就会把所有文件都识别成修改:
- 打开PhpStorm设置:按
Ctrl+Alt+S(或者顶部菜单栏点File → Settings) - 找到Version Control → Git,看右侧的「Line separator」选项,直接选「Native (LF)」——这是Ubuntu的原生换行符,和系统保持一致准没错。
- 接着打开终端,检查git的全局换行符配置:
要是输出是git config --global core.autocrlftrue或者input,赶紧改成false(Linux不需要自动转换换行符):git config --global core.autocrlf false - 最后,先把自己的修改临时存起来(右键项目 → Git → Stash Changes),然后右键项目 → Git → Reset HEAD...,选「Hard」重置(放心,存了stash不会丢代码),重置后再Unstash恢复修改,这时看git status就正常了。
2. 排查文件权限的坑
Ubuntu下git默认会跟踪文件的执行权限变化,要是权限不小心批量变了,就会触发全文件变更提示:
- 先关闭git对权限的跟踪,终端执行:
git config --global core.filemode false - 同样,先stash自己的修改,再做一次Hard重置,之后恢复修改,就能解决权限导致的误报。
3. 实在不行就清IDE缓存
有时候PhpStorm的缓存抽风也会搞出这种乌龙:
- 按
Ctrl+Shift+Alt+S打开Project Structure,左上角点「Invalidate Caches / Restart...」,选「Invalidate and Restart」让IDE重启清缓存。重启后再检查git状态,大概率就正常了。
划重点:不管做什么操作,先把自己的修改stash备份!Hard重置会丢弃本地未提交的修改,一定要先存好再操作。
内容的提问来源于stack exchange,提问作者Evgeny Gil
相关产品推荐
相关产品推荐

