.gitignore 推荐内容
既然你正在使用 uv(通过 uv.lock 判断),这里为你准备了一份针对 Python + uv 项目的标准 .gitignore 文件。
这份配置不仅包含了常规的 Python 忽略规则,还特别针对 uv 的虚拟环境管理方式进行了优化。
📄 推荐的 .gitignore 内容
请在项目根目录下创建(或编辑).gitignore 文件,并粘贴以下内容:
# --- uv 特定配置 ---
# uv 默认创建的虚拟环境目录
.venv/
# uv 的锁文件通常是需要提交的,但如果你只想忽略临时的 uv 缓存
# .uv/ (如果有这个缓存目录的话)
# --- Python 核心 ---
# 字节码文件
__pycache__/
*.py[cod]
*$py.class
*.so
# 构建与分发产物
build/
dist/
*.egg-info/
*.egg
*.manifest
*.spec
# 安装记录
pip-delete-this-directory.txt
# --- 测试与覆盖率 ---
# 覆盖率报告
.coverage
coverage.xml
htmlcov/
.pytest_cache/
.tox/
.nox/
# --- IDE 与 编辑器 ---
# VS Code
.vscode/
*.code-workspace
# PyCharm / IntelliJ
.idea/
*.iml
*.ipr
*.iws
# Sublime Text
*.sublime-project
*.sublime-workspace
# 编辑器备份文件
*.swp
*.swo
*~
# --- 环境与敏感信息 ---
# 环境变量文件 (强烈建议忽略,防止泄露密钥)
.env
.env.local
.env.*.local
# 日志文件
*.log
# 操作系统生成的文件
.DS_Store (macOS)
Thumbs.db (Windows)
💡 关键点解释
.venv/
这是 uv(以及 poetry、pipenv 等工具)默认创建虚拟环境的目录。
- 必须忽略:虚拟环境包含大量的二进制文件和依赖库,体积巨大且不需要版本控制。
- 注意:如果你使用
uv的全局 Python 管理功能,可能没有本地.venv,但保留这一条是标准做法。
*.py[cod] 和 __pycache__/
这些是 Python 编译后的字节码文件。
- 必须忽略:它们是自动生成的,不需要提交。如果不忽略,会导致 Git 仓库变得混乱。
.env
- 必须忽略:这是存放 API 密钥、数据库密码等敏感信息的地方。永远不要将包含真实密钥的
.env文件提交到 Git 仓库。 - 最佳实践:提交一个
.env.example文件,里面只包含变量名(不含真实值),告诉其他开发者需要配置哪些变量。
uv.lock
- 不要忽略:与
pip不同,uv生成的uv.lock文件类似于package-lock.json或Cargo.lock。它锁定了所有依赖的确切版本,保证了“可重现的安装”。你应该将uv.lock提交到仓库中。
🚀 如何使用
-
将上述内容保存为项目根目录下的
.gitignore。 -
如果你的项目中已经存在
.venv文件夹且已被 Git 追踪(即之前忘记忽略了),你需要先从 Git 中移除它:# 停止追踪 .venv 目录,但保留本地文件 git rm -r --cached .venv -
提交更改:
git add .gitignore git commit -m "chore: add .gitignore for python and uv"

浙公网安备 33010602011771号