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.class

2. 忽略虚拟环境

虚拟环境目录venv/ env/ ENV/ .venv virtualenv/# PipenvPipfile.lock# Poetry poetry.lock

3. 忽略 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.xml

5. 忽略日志和数据库文件

日志文件*.log logs/ *.log.*# 数据库文件 *.db *.sqlite *.sqlite3 db.sqlite3

6. 忽略环境变量和配置文件

环境变量.env .env.local .env.*.local# 配置文件(包含敏感信息) config.ini secrets.json credentials.json

实际使用示例

示例 1: 忽略单个文件

忽略根目录下的 config.pyconfig.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 文件纳入版本控制
相关推荐
Jay_Franklin21 天前
Python中使用sqlite3模块和panel完成SQLite数据库中PDF的写入和读取
数据库·笔记·python·pycharm·sqlite·pdf·py
小草cys2 个月前
【最佳实践】py文件需要调用exe文件和dll文件,如何打包成exe文件
windows·集成·pyinstaller·py·代码打包
白仑色4 个月前
AJAX表单验证项目实战:实时用户名检查
前端·javascript·ajax·表单验证·py