菜单

仓库结构与组织

相关源文件

目的与范围

本文档描述了 GitHub gitignore 存储库的组织结构,包括其目录布局、文件命名约定以及每个组件的用途。有关如何在项目中使用的模板的信息,请参阅使用 Gitignore 模板

存储库组织概述

GitHub gitignore 存储库被组织成一个特定的层次结构,以便于模板的发现和使用。该存储库遵循三层结构,旨在根据模板的适用性和特异性进行分离。

来源:README.md19-35

主目录结构

该存储库分为三个主要目录,每个目录都有特定的用途

根目录

根目录包含常用编程语言和技术的模板。这些模板提供了一套有用的规则,以帮助开发人员开始使用流行技术,并确保他们不会将不必要的文件提交到其存储库。

示例包括

  • Python.gitignore
  • Node.gitignore
  • Java.gitignore

这些根模板代表了主流技术当前支持的 gitignore 模式版本。

Global 目录

Global/ 目录包含各种编辑器、工具和操作系统模板,可在不同的开发场景中使用。这些模板 intended to be used in one of two ways

  1. 添加到用户的全局 git 配置
  2. 合并到项目特定的模板中

示例包括

  • Global/VisualStudio.gitignore
  • Global/macOS.gitignore
  • Global/Windows.gitignore

Community 目录

community/ 目录包含其他语言、工具和项目的专用模板,这些模板目前不属于主流模板。这些是更专用或版本特定的模板,在采用特定框架或工具时应将其添加到项目特定的模板中。

示例包括

  • community/Alteryx.gitignore
  • 版本化模板(例如,框架的早期版本)

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

模板放置策略

下图说明了确定模板应放置在存储库中的哪个位置的决策过程

来源:README.md92-102 README.md108-115

版本策略

该存储库对版本之间变化较大的模板采用了特定的版本控制策略

  1. 根目录包含模板的当前支持版本,文件名中没有版本号
  2. 以前的版本存储在community/目录中
  3. 以前的版本文件名包含版本号以示清晰

这种方法确保用户默认获取最新版本(来自根目录),同时仍为使用早期技术版本的项目提供对旧版本的访问。

来源:README.md92-102

模板结构

存储库中的典型 gitignore 模板遵循标准格式

# gitignore template for [Technology Name]
# website: [Official website URL]
#
# [Optional: Recommended complementary templates]

# [Category of ignored files]
[pattern]
[pattern]

# [Another category]
[pattern]
[pattern]

对于 community 目录中的专用模板,通常会在标题注释中包含其他信息,例如:

  • 指向技术网站的链接
  • 推荐的配套模板
  • 有时会包含作者信息

来源:community/Alteryx.gitignore1-4 community/Alteryx.gitignore43-44

模板类别和关系

该存储库根据其目的和范围将模板组织成类别。下图说明了模板的主要类别及其关系

来源:README.md19-35

文件命名约定

该存储库遵循 gitignore 模板特定的命名约定

  1. 根模板:以语言或框架命名(例如,Python.gitignore
  2. 全局模板:以工具、编辑器或操作系统命名(例如,Global/VisualStudio.gitignore
  3. 社区模板:
    • 对于专用工具:以工具命名(例如,community/Alteryx.gitignore
    • 对于版本化模板:在文件名中包含版本(例如,community/Drupal7.gitignore

这种一致的命名约定有助于用户快速找到适合其需求的模板。

来源:README.md92-102

贡献与维护

存储库结构也促进了模板的贡献和维护

  • 每个模板都应专注于特定的语言、框架、工具或环境
  • 模板应包含精心策划的规则集,对特定技术有用
  • 对模板的更改应作为单独的拉取请求提交
  • 高度专业化的模板应添加到 community 目录
  • 版本化模板遵循特定的版本控制策略

有关贡献存储库的详细信息,请参阅贡献 Gitignore

来源:README.md36-61 README.md62-90

总结

GitHub gitignore 存储库遵循一种结构化的组织方法,分为三个主要目录

  1. 根目录:当前主流模板
  2. Global 目录:编辑器、工具和操作系统模板
  3. Community 目录:专用和版本化模板

这种组织方式确保用户能够轻松找到合适的模板,同时保持一个干净、结构良好的存储库,能够满足流行和专业用例的需求。

来源:README.md19-35