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/ # Pipenv Pipfile.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.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 文件纳入版本控制
posted @ 2025-12-01 11:09  Arxu  阅读(25)  评论(0)    收藏  举报