菜单

Gitignore 模板概述

相关源文件

目的与范围

本文档提供了 GitHub gitignore 仓库的全面概述。该仓库收集了各种编程语言、框架、工具和开发环境的 .gitignore 模板。这些模板定义了应从版本控制中排除的文件模式,通过防止包含不必要的文件来帮助开发者维护整洁的仓库。有关在项目中如何使用这些模板的特定指导,请参阅 使用 Gitignore 模板

来源: README.md1-17

仓库目的和概述

GitHub gitignore 仓库是一个精选的 .gitignore 模板文件集合,可帮助开发者高效地为 Git 仓库设置文件排除模式。这些模板用于在创建新仓库和文件时填充 GitHub.com 界面的 .gitignore 模板选择器。

一个 .gitignore 文件指定了 Git 应忽略的有意未跟踪的文件,例如构建产物、依赖目录、用户特定配置文件以及其他不应提交到版本控制的不必要项。

仓库组织图

来源: README.md1-17 README.md19-35

存储库结构

该 gitignore 仓库分为三个主要目录

  1. 根目录:包含流行编程语言和技术的常用模板。这些模板定义了一套有意义的规则,以帮助开始使用流行的技术。

  2. 全局目录:包含适用于不同情况的各种编辑器、工具和操作系统模板。建议将这些模板添加到全局 gitignore 配置中,或合并到项目特定的模板中。

  3. 社区目录:包含其他流行语言、工具和项目的专用模板,这些模板目前不属于主流模板。在采用特定框架或工具时,应将其添加到项目特定的模板中。

模板类别分布

来源: README.md19-35 Global/README.md1-10

常见的排除模式

在不同的开发环境中,某些类别的文件会持续被排除

常见文件排除类别

下表显示了在不同模板类别中通常排除的文件模式示例

类别示例目的
构建工件*.exe*.dll*.class*.o编译代码(构建过程中生成)
依赖目录node_modules/vendor/.gradle/外部库和依赖项
用户特定设置*.iml.project*.userIDE 和编辑器配置文件
配置文件.envwp-config.php环境特定配置
日志和转储*.logcrash.log应用程序日志和调试信息
缓存文件.sass-cache/.terragrunt-cache临时缓存数据

来源: community/Alteryx.gitignore1-43 Global/SynopsysVCS.gitignore1-37

模板选择与应用

Gitignore 集成工作流程

在为项目选择模板时,开发者通常会

  1. 选择主要编程语言/框架的基础模板(来自根目录)
  2. 添加开发环境和工具的模板(来自全局目录)
  3. 根据需要包含任何专用模板(来自社区目录)
  4. 自定义组合模板以匹配项目的特定需求

来源: README.md19-35 Global/README.md1-10

模板标准和质量

gitignore 仓库维护着关于何为良好模板的标准

  1. 模板应包含一组规则,以帮助 Git 仓库与特定的编程语言、框架、工具或环境协同工作。
  2. 模板应简洁,并专注于最常见和最有用的排除模式。
  3. 模板应附带注释,解释特定模式的用途。

模板质量标准

来源: README.md37-60 CONTRIBUTING.md1-39

模板类型与组织

该仓库根据模板的范围和适用性将其分为不同类型

主流模板

位于根目录,这些模板适用于广泛使用的编程语言和框架,如 Python、JavaScript 和 Ruby on Rails。

全局模板

位于 /Global 目录,这些模板包含适用于多种项目类型的常见开发工具、IDE 和操作系统模式。例如 JetBrains IDE、Visual Studio 和 macOS 特定的文件。

专用和版本化模板

位于 /community 目录,这些包括

  1. 专用模板 - 适用于不太常见或专业的工具和框架
  2. 版本化模板 - 适用于框架和工具的不同版本,这些版本之间存在显著差异

根目录中的当前模板应代表当前支持的版本,文件名中不包含版本号,而先前版本应移至社区目录,并在文件名中包含版本号。

来源: README.md92-135 community/Alteryx.gitignore1-43

与 GitHub 集成

GitHub.com 使用此仓库中的模板来填充创建新存储库和文件时 GitHub 界面中可用的 .gitignore 模板选择器。这种集成有助于开发者在开始新项目时快速设置适当的文件排除项。

来源: README.md1-17

其他资源

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

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

来源: README.md7-17