别再把 `__pycache__` 提交到 Git 了!一文搞懂正确处理方式

忘机山人

发布于291天前
博客图片修整中,看不了可以先搜索公众号“忘机山人”看。

在使用 Python 开发时,你是否遇到过 Git 仓库中突然多出一堆 __pycache__ 文件夹?
这些奇怪的 .pyc 文件不仅无用,还会污染项目结构,甚至拖慢 Git 操作。

今天我们就来系统讲讲:

  • __pycache__ 是什么?
  • 为什么它会出现在项目里?
  • 如何正确忽略并彻底删除它?
https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.gitea

🧠 __pycache__ 是什么?

在你运行 Python 脚本时,解释器会自动把 .py 源码编译成 .pyc 字节码文件,以提高下一次运行的速度。

这些 .pyc 文件默认保存在一个叫 __pycache__ 的目录里。例如:

your_project/
├── app.py
└── __pycache__/
    └── app.cpython-311.pyc

对开发来说,这些文件完全不需要提交到 Git 仓库,只会造成污染。


🚫 不小心提交了 __pycache__ 怎么办?

  1. 先添加到 .gitignore 中:
# 忽略 Python 缓存文件
__pycache__/
*.py[cod]
  1. 强制从 Git 中移除缓存目录:
git rm -r --cached __pycache__
  1. 提交并推送变更:
git commit -m "Remove __pycache__ from version control"
git push
  1. 可选:清除本地缓存文件夹(不会影响代码)
find . -name "__pycache__" -type d -exec rm -r {} +

🧼 项目初期就该这样做

建议每个 Python 项目的 .gitignore 文件中都包含以下内容:

# Python bytecode & cache
__pycache__/
*.py[cod]
*$py.class

如果你用 VSCode 或 PyCharm 等 IDE,也建议添加:

.vscode/
.idea/

✅ 最佳实践总结

步骤说明
.gitignore防止后续再次被提交
git rm --cached从版本历史中移除
本地清除可选,保持工作区干净

📌 结语

开发者应当保持仓库“干净整洁”,只提交对项目有意义的源代码。
__pycache__、日志、虚拟环境、数据库等中间产物,应通过 .gitignore 管理好。

从现在开始,把“清理 pycache”作为你的日常操作之一吧!

image.png

评论

0

暂无评论

说点什么呢~
收藏
1
0
0