.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(以及 poetrypipenv 等工具)默认创建虚拟环境的目录。

  • 必须忽略:虚拟环境包含大量的二进制文件和依赖库,体积巨大且不需要版本控制。
  • 注意:如果你使用 uv 的全局 Python 管理功能,可能没有本地 .venv,但保留这一条是标准做法。

*.py[cod]__pycache__/

这些是 Python 编译后的字节码文件。

  • 必须忽略:它们是自动生成的,不需要提交。如果不忽略,会导致 Git 仓库变得混乱。

.env

  • 必须忽略:这是存放 API 密钥、数据库密码等敏感信息的地方。永远不要将包含真实密钥的 .env 文件提交到 Git 仓库。
  • 最佳实践:提交一个 .env.example 文件,里面只包含变量名(不含真实值),告诉其他开发者需要配置哪些变量。

uv.lock

  • 不要忽略:与 pip 不同,uv 生成的 uv.lock 文件类似于 package-lock.jsonCargo.lock。它锁定了所有依赖的确切版本,保证了“可重现的安装”。你应该将 uv.lock 提交到仓库中

🚀 如何使用

  1. 将上述内容保存为项目根目录下的 .gitignore

  2. 如果你的项目中已经存在 .venv 文件夹且已被 Git 追踪(即之前忘记忽略了),你需要先从 Git 中移除它:

    # 停止追踪 .venv 目录,但保留本地文件
    git rm -r --cached .venv
    
  3. 提交更改:

    git add .gitignore
    git commit -m "chore: add .gitignore for python and uv"
    
posted @ 2026-03-31 22:36  Ching_Fire  阅读(6)  评论(0)    收藏  举报