digilive/git-changelog

从本地仓库的Git提交生成变更日志

v2.0.1 2022-10-02 20:25 UTC

This package is auto-updated.

Last update: 2024-08-30 01:20:29 UTC


README

GitHub release License Codacy Badge

从本地仓库的Git提交生成变更日志。

此库解析存储在Git仓库中的信息。从这些信息中,它生成可以保存到文件的变更日志。信息是从当前签出的分支中提取的。

请查看这个示例。这是GitChangelog仓库的变更日志,由该库构建。

如果您对此库有任何疑问、评论或想法,请首先咨询Wiki。如果问题仍未解决,请创建一个新的问题

特性

主要

  • 包括Markdown和Html渲染器。

  • 选择内置的渲染器或创建自己的。

  • 列出标签及其日期。

  • 列出每个标签的唯一提交标题。

  • 列出每个唯一标题的提交哈希(可选)。

  • 包含HEAD修订版本的提交标题(例如,未发布的变化)。

其他

  • 使用另一个本地仓库作为信息源。
  • 设置标签范围以限制变更日志。
  • 通过标签过滤标题1
  • 为变更日志设置自定义标题(例如,标题)。
  • 为HEAD修订版本设置自定义标题(例如,下一个版本号)。
  • 为HEAD修订版本设置自定义日期(例如,下一个发布日期)。
  • 设置自定义消息以指示没有提交。
  • 包含或不包含合并提交。
  • 设置排序键以对标签/版本进行排序2
  • 设置标签/版本的排序顺序。
  • 设置标题的排序顺序。
  1. 标签被认为是提交标题的第一词。

  2. 使用无效的键会导致未列出的更改,或者在启用的情况下,仅列出HEAD修订版本的更改。

Markdown渲染器

  • 为标签/版本行定义自定义格式。

  • 为标题行定义自定义格式。

  • 将哈希格式化为指向远程仓库提供商提交视图的链接。

  • 将问题格式化为指向远程仓库提供商问题跟踪器的链接。

  • 将问题格式化为指向远程仓库提供商合并请求(即pull-request)视图的链接。

Html渲染器

  • 将哈希格式化为指向远程仓库提供商提交视图的链接。

  • 将问题格式化为指向远程仓库提供商问题跟踪器的链接。

  • 将问题格式化为指向远程仓库提供商合并请求(即pull-request)视图的链接。

安装

首选方法是使用Composer安装库。

> composer require digilive/git-changelog:^2

将版本约束设置为最适合您的值。
或者,您可以下载最新的发行版GitHub

最小示例用法

<?php

use DigiLive\GitChangelog\Renderers\MarkDown;
 
// Use composer's auto loader.
$requiredFile = 'Path/To/vendor/autoload.php';

// Or include the library manually.
// $requiredFile = 'Path/To/MarkDown.php';

require_once $requiredFile;

// Instantiate the library's renderer.
$changelog = new MarkDown();
// Build and get the changelog with all options set to default.
$changelog->build();
$content = $changelog->get();

注释

  • 某些选项可以直接通过设置公共属性来更改。(设置无效类型的值可能会导致意外的结果。)

  • 其他选项必须通过调用方法来设置。

提交指南

为了创建良好的变更日志,您应该遵循以下指南

  • 提交消息必须有标题行,可以有正文。这些必须由空白行分隔。

  • 标题行必须不超过50个字符。

  • 标题行应大写且不得以句号结尾。

  • 标题行必须使用祈使句(Fix,而不是Fixed / Fixes等)。

  • 正文必须折行在72列。

  • 正文必须只包含关于是什么和为什么的解释,决不能包含如何做。后者属于文档和实现部分。