菜单

贡献 Gitignore

相关源文件

本文档概述了为 GitHub gitignore 仓库贡献的流程、指南和最佳实践。它为想要添加新模板、改进现有模板或为这个 .gitignore 模板集合做出其他有价值贡献的开发者提供了详细信息。有关使用 gitignore 模板的信息,请参阅使用 Gitignore 模板

仓库结构概述

在贡献之前,了解仓库的组织结构非常重要

  • 根目录:包含主流编程语言和技术的模板
  • Global 目录:包含编辑器、工具和操作系统的模板
  • Community 目录:包含特定版本或专用模板

来源: README.md19-35

贡献工作流程

贡献流程遵循 GitHub 的标准 fork 和 pull request 工作流

  1. Fork 仓库到您的 GitHub 账户
  2. 为您的更改创建一个分支
  3. 在您的 fork 仓库中进行更改
  4. 从您的分支向主仓库打开一个 pull request
  5. 根据维护者的反馈进行修改
  6. 合并(经维护者批准后)

来源: README.md138-148

模板选择决策树

贡献新模板时,请使用此决策流程来确定其应放置的位置

来源: README.md19-35 README.md92-116

什么是一个好的模板

一个高质量的 gitignore 模板应该

  • 包含一套针对特定编程语言、框架、工具或环境的规则
  • 专注于一套简洁、精选的有用规则
  • 对使用该技术的所有人都广泛适用
  • 具有特定的范围(语言、框架、工具等)
模板标准描述
聚焦针对特定的语言、框架或工具
精选包含一套精心挑选的规则,而非详尽的列表
已文档化有官方文档支持被忽略的文件
广泛适用对该技术的所有用户都有用,不仅仅是特定用例
范围特定仅限于其领域,不与其他模板重叠

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

贡献指南

提交 pull request 时,请确保您

  1. 提供上下文:

    • 链接到应用程序或项目的首页
    • 包含支持被忽略文件的文档链接
    • 解释您进行此更改的原因
  2. 遵循最佳实践:

    • 每次 pull request 只修改一个模板
    • 考虑更改的范围(确保它在正确的模板中)
    • 解释为什么此更改适用于使用该技术的所有人
  3. 使用 pull request 模板:

    • 完成模板中的所有部分
    • 确保 CI 测试通过

来源: README.md62-90 CONTRIBUTING.md1-39 .github/PULL_REQUEST_TEMPLATE.md1-24

特殊模板类型

版本化模板

适用于版本间变化较大的软件

关键原则

  • 根目录中的模板应适用于当前支持的版本
  • 根目录模板的文件名中不应包含版本号
  • 先前版本应放在 community/ 目录下
  • 先前版本的文件名中应包含版本号

来源: README.md92-105

专业化模板

适用于非主流但仍有用的模板

  1. 将它们放在 community/ 目录下的适当文件夹中
  2. 确保规则特定于框架或工具
  3. 在注释中引用可能需要的其他模板

示例结构

community/
└── DotNet/
    └── InforCRM.gitignore

示例头部注释

# gitignore template for InforCRM (formerly SalesLogix)
# website: https://www.infor.com/product-summary/cx/infor-crm/
#
# Recommended: VisualStudio.gitignore

来源: README.md107-135 community/Alteryx.gitignore1-44 Global/SynopsysVCS.gitignore1-37

模板示例结构

一个结构良好的模板通常遵循此模式

示例头部

# gitignore template for Alteryx Designer
# website: https://www.alteryx.com/
# website: https://help.alteryx.com/current/designer/alteryx-file-types

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

贡献的关键考虑因素

请记住,gitignore 仓库旨在维护高质量的、最常用和最有用的模板集合,而不是每个可能技术的详尽列表

  • 如果一个模板主要是特定软件版本的被忽略文件列表,它可能更适合放在 community 目录中
  • 模板应提供超越简单目录列表的实用价值
  • 并非所有技术都能包含在内;重点是常见且广泛有用的模板

来源: README.md55-60 CONTRIBUTING.md31-39

许可信息

对仓库的所有贡献都受 CC0-1.0 许可证覆盖,这实质上将它们置于公共领域。

来源: README.md153-155