gitignore 使用指南 - Python开发
.gitignore 使用指南 - Python开发
📝 .gitignore 使用指南
Python 开发中的完整教程
什么是 .gitignore?
.gitignore 是一个文本文件,用于告诉 Git 哪些文件或文件夹不需要被版本控制。这对于排除临时文件、编译输出、敏感信息等非常有用。
基本语法规则
| 模式 | 说明 | 示例 |
|---|---|---|
filename.txt |
忽略特定文件 | config.py |
*.ext |
忽略所有该扩展名的文件 | *.pyc |
folder/ |
忽略整个文件夹 | __pycache__/ |
**/pattern |
匹配任意目录下的文件 | **/temp |
!filename |
不忽略某个文件(例外) | !important.log |
# |
注释行 | # 这是注释 |
Python 项目常用配置
1. 忽略 Python 编译文件
# Python 字节码文件 *.pyc *.pyo *.pyd __pycache__/ *.so # 编译的 Python 模块 *.py[cod] *$py.class2. 忽略虚拟环境
# 虚拟环境目录 venv/ env/ ENV/ .venv virtualenv/ # Pipenv Pipfile.lock # Poetry poetry.lock3. 忽略 IDE 和编辑器文件
# PyCharm .idea/ *.iml # VSCode .vscode/ *.code-workspace # Jupyter Notebook .ipynb_checkpoints/ *.ipynb_checkpoints # Vim *.swp *.swo *~4. 忽略测试和覆盖率文件
# 测试覆盖率 .coverage .coverage.* htmlcov/ .pytest_cache/ .tox/ # 单元测试 .pytest_cache/ nosetests.xml coverage.xml5. 忽略日志和数据库文件
# 日志文件 *.log logs/ *.log.* # 数据库文件 *.db *.sqlite *.sqlite3 db.sqlite36. 忽略环境变量和配置文件
# 环境变量 .env .env.local .env.*.local # 配置文件(包含敏感信息) config.ini secrets.json credentials.json实际使用示例
示例 1: 忽略单个文件
# 忽略根目录下的 config.py config.py # 忽略任意目录下的 secret.json **/secret.json示例 2: 忽略文件夹
# 忽略 data 文件夹及其所有内容 data/ # 忽略所有 temp 文件夹 **/temp/ # 忽略根目录的 build 文件夹,但不忽略子目录的 /build/示例 3: 使用例外规则
# 忽略所有 .log 文件 *.log # 但不忽略 important.log !important.log # 忽略 build 目录 build/ # 但保留 build/README.md !build/README.md示例 4: 完整的 Python 项目 .gitignore
# Python *.pyc __pycache__/ *.py[cod] *$py.class # 虚拟环境 venv/ env/ .venv/ # IDE .idea/ .vscode/ *.swp # 测试 .pytest_cache/ .coverage htmlcov/ # 环境变量 .env .env.local # 数据库 *.db *.sqlite3 # 日志 *.log logs/ # 操作系统 .DS_Store Thumbs.db # 项目特定 uploads/ downloads/ temp/常见问题和技巧
❓ 如何忽略已经被追踪的文件?
如果文件已经被 Git 追踪,需要先从 Git 中移除:
# 移除单个文件 git rm --cached filename.py # 移除整个文件夹 git rm -r --cached foldername/ # 然后提交更改 git commit -m "Remove tracked files" 使用
--cached 参数只会从 Git 中删除文件,不会删除本地文件。🔍 如何检查文件是否被忽略?
# 检查某个文件是否被忽略 git check-ignore -v filename.py # 查看所有被忽略的文件 git status --ignored📦 全局 .gitignore
你可以设置一个全局的 .gitignore 文件,应用于所有项目:
# 创建全局 gitignore 文件 touch ~/.gitignore_global # 配置 Git 使用它 git config --global core.excludesfile ~/.gitignore_global最佳实践
- 在项目开始时就创建 .gitignore 文件
- 永远不要提交敏感信息(密码、API密钥等)
- 忽略所有生成的文件(编译输出、缓存等)
- 使用注释让 .gitignore 文件更易读
- 可以参考 GitHub 的 gitignore 模板
- 团队协作时,将 .gitignore 文件纳入版本控制

浙公网安备 33010602011771号