.idea 目录要不要提交 Git?JetBrains 配置分类与泄密检查
不把 .idea 简化成“全提交”或“全忽略”。区分团队规则、项目结构、个人工作区、本机绝对路径和敏感信息。
为什么没有一条适合所有项目的答案
.idea 里可能同时存在团队希望共享的代码样式、检查规则与运行配置,也可能存在个人窗口状态、搜索历史、shelf、数据库连接、HTTP 请求和本机 SDK 绝对路径。所以“提交整个目录”与“忽略整个目录”都可能丢失价值或带来风险。
1. 用四类矩阵逐项判断
- 团队规则:代码样式、检查配置、字典等,要由团队明确决定是否共享。
- 可移植项目配置:不含秘密、不依赖个人绝对路径的运行配置,可以提升复现性。
- 个人工作区:例如
workspace.xml、shelf 和用户界面状态,通常不共享。 - 秘密/高风险:数据库密码、Token、私钥、带 Authorization 头的 HTTP 请求,不得进入版本库。
2. 在提交前检查“真实跟踪状态”
git status --short
git ls-files .idea
git check-ignore -v .idea/workspace.xml
git diff --cached.gitignore 不会影响已经跟踪的文件。因此不能只看忽略规则文本,还必须用 git ls-files 和 staged diff 核对实际要发布的内容。如果秘密已提交,先在服务端撤销或轮换;补一条 gitignore 不会让历史中的秘密失效。
3. 换电脑后不要批量替换 .idea 中的路径
先由 IDE 重新选择 Python 解释器、Project SDK、Gradle JVM 与 CMake Profile。若配置本应属于每个人,就不应通过搜索替换旧家目录后提交给全团队。可共享配置应尽量使用项目相对路径、环境变量名和去敏示例。
验收标准
- 新 clone 的项目能在另一个用户路径打开,不依赖原开发者家目录。
git ls-files .idea的每个文件都有团队共享理由。- staged diff 不包含 Token、密码、私钥、内网地址或个人工作历史。
官方来源
同一问题集群的免费排障页
按你当前看到的报错选一页,不需要从头阅读全部内容。
Python、JDK 与 JetBrains 项目换电脑:解释器、SDK、.idea 和依赖怎么迁移
区分源代码、团队配置、本机状态、秘密文件和可重建目录;按证据处理 Python venv、PyCharm 解释器、IntelliJ JDK、Git 凭据、Node 与 CMake。
2026 JetBrains 合法免费使用指南:学生许可、非商业使用、试用与商业订阅怎么选
不再寻找失效激活码:按学生/教师、个人非商业、商业工作、课堂部署和短期评估五种用途,核对 JetBrains 当前官方许可路径与安全迁移步骤。
PyCharm 报 No module named,终端却能运行:先对齐解释器和 pip
不要先重复安装依赖。用 sys.executable、python -m pip show、运行配置和工作目录定位 PyCharm 与终端是否使用了不同环境。
Python .venv 换电脑后失效:不要复制,用依赖定义重建
Python 官方明确将虚拟环境视为可丢弃、不可搬运的目录。本页给出换机前保存证据、目标机重建和验收步骤。
IntelliJ 无效的源发行版:区分 Project SDK、Language level 和 Gradle JVM
java -version 正常不等于项目编译链正确。逐层核对 JDK、javac、Project SDK、模块 SDK、语言级别与 Gradle JVM。
CMake 换目录后还指向旧路径:删缓存重配置,不要手改 CMakeCache
项目改路径、换电脑或更换编译器后,旧构建树容易留下绝对路径。用 fresh 配置、Presets 和可重现验收修复。