菜单

使用 Gitignore 模板

相关源文件

本文档介绍了如何在你的项目中有效使用此存储库中提供的 gitignore 模板。它涵盖了选择合适的模板、在不同场景下的应用、组合使用多个模板以及遵循最佳实践。有关存储库结构和组织的信息,请参阅 存储库结构和组织

选择合适的模板

gitignore 存储库提供了各种编程语言、开发环境和工具的模板,其组织方式可以帮助你快速找到所需内容。

选择模板时,请考虑

  1. 主要语言或框架:根据项目的核心技术选择主要模板(例如,Python、Node.js)
  2. 开发环境:考虑添加相关的 IDE 或编辑器模板(例如,Visual Studio、JetBrains)
  3. 操作系统:如果团队成员使用不同的操作系统,请添加特定于操作系统的模式
  4. 专用工具:包含项目中使用的任何专用工具的模板

来源:README.md20-35

将模板应用于项目

有多种方法可以将 gitignore 模板应用于你的项目

方法一:将模板复制到项目根目录

最简单的方法是将相关模板复制到项目的根目录,并将其重命名为 .gitignore

  1. 导航到存储库中相应的模板
  2. 复制模板的内容
  3. 在项目的根目录创建一个名为 .gitignore 的文件
  4. 将内容粘贴到文件中

方法二:使用 GitHub 的模板选择器

在 GitHub 上创建新存储库时

  1. 在存储库创建过程中点击“添加 .gitignore”
  2. 从下拉菜单中选择合适的模板
  3. GitHub 将自动将模板添加到你的新存储库

方法三:使用全局 Gitignore

对于应在系统上所有存储库中忽略的模式

这种方法对于 IDE 特定文件和操作系统生成的文件特别有用,这些文件无论项目如何都应始终被忽略。

来源:README.md26-35 Global/README.md3-10

组合使用多个模板

大多数项目都可以从组合使用多个模板中获益,以涵盖所有必需的排除模式。

  1. 从主模板开始,用于你的主要编程语言或框架
  2. 添加相关模式,来自全局模板,用于你的开发环境
  3. 包含专用模板,来自社区目录(如果需要)
  4. 根据需要自定义,以满足项目特定的需求

例如,一个使用 Django 且在 Visual Studio Code 中开发的 Python Web 应用程序可能需要组合使用

  • Python.gitignore (根模板)
  • Global/VisualStudioCode.gitignore (编辑器模板)
  • 来自 Django.gitignore 的相关模式(框架模板)
  • 来自 Global/Windows.gitignoreGlobal/macOS.gitignore 的特定于操作系统的模式

组合模板示例

一个组合的 .gitignore 文件可能包含以下部分

# Python patterns (from Python.gitignore)
__pycache__/
*.py[cod]
*$py.class
venv/
env/

# Django patterns (from Django.gitignore)
*.log
local_settings.py
db.sqlite3

# VS Code patterns (from Global/VisualStudioCode.gitignore)
.vscode/*
*.code-workspace

# OS-specific patterns (from Global/macOS.gitignore)
.DS_Store
.AppleDouble

来源:README.md20-35

使用 Gitignore 模板的最佳实践

模板修改指南

在为你的项目定制模板时

  1. 保留原始注释,以获得更好的可维护性
  2. 对相关模式进行分组,以获得更好的可读性
  3. 用清晰的注释记录项目特定的模式
  4. 定期审查忽略的模式,以确保它们仍然相关

跨系统通用模式

各种开发环境共享常见的文件类别,这些文件通常应被排除

类别示例排除原因
构建产物*.exe*.dll*.class构建过程中生成,在源代码控制中不需要
依赖项目录node_modules/vendor/可以从包管理器配置中恢复
用户特定设置*.user.idea/workspace.xml不应共享的个人偏好设置
环境变量.env.env.local通常包含敏感数据或本地配置
日志和转储*.logcrash.log运行时生成,在源代码控制中不需要
缓存文件.sass-cache/.parcel-cache/可以根据需要重新生成

Gitignore 和开发工作流程

在开发工作流程的多个阶段,.gitignore 文件起着至关重要的作用

正确配置的 gitignore 模板有助于

  • 防止意外提交敏感信息
  • 保持存储库整洁,并专注于源代码
  • 减少由生成文件引起的合并冲突
  • 最小化存储库大小和克隆时间

来源:README.md1-17 community/Alteryx.gitignore31-43

常见问题排查

已跟踪的文件

如果文件已被 Git 跟踪,将它们添加到 .gitignore 不会停止跟踪它们。要解决此问题

  1. 提交所有待定更改
  2. 从 Git 缓存中删除文件
    git rm -r --cached .
    
  3. 重新添加所有文件
    git add .
    
  4. 提交更改
    git commit -m "Remove files that should be ignored"
    

嵌套的 Gitignore 文件

Git 支持在不同目录中使用多个 .gitignore 文件。嵌套 .gitignore 文件中的规则适用于其目录及其所有子目录中的文件。

这对于以下情况很有用

  • 大型单体仓库(monorepos),具有不同的组件
  • 在特定目录中包含生成代码的项目
  • 在测试目录中排除测试数据

有关高级 gitignore 用法的更多详细信息,请参阅主 README 中提供的参考资料。

来源:README.md7-17 community/Alteryx.gitignore37-42

其他资源

有关 .gitignore 文件如何工作以及如何有效使用它们的更多信息,请参阅这些资源

  • 《Pro Git》一书的“忽略文件”章节
  • GitHub 帮助网站上的“忽略文件”文章
  • gitignore(5) 手册页

这些资源提供了对 gitignore 模式语法、优先级规则和高级用法场景的深入解释。

来源:README.md7-17