digilive/git-changelog
从本地仓库的Git提交生成变更日志
Requires
- php: ^7.3 || ^8.0
- ext-mbstring: *
- symfony/process: ^5
Requires (Dev)
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-08-30 01:20:29 UTC
README
从本地仓库的Git提交生成变更日志。
此库解析存储在Git仓库中的信息。从这些信息中,它生成可以保存到文件的变更日志。信息是从当前签出的分支中提取的。
请查看这个示例。这是GitChangelog仓库的变更日志,由该库构建。
如果您对此库有任何疑问、评论或想法,请首先咨询Wiki。如果问题仍未解决,请创建一个新的问题。
特性
主要
-
包括Markdown和Html渲染器。
-
选择内置的渲染器或创建自己的。
-
列出标签及其日期。
-
列出每个标签的唯一提交标题。
-
列出每个唯一标题的提交哈希(可选)。
-
包含HEAD修订版本的提交标题(例如,未发布的变化)。
其他
- 使用另一个本地仓库作为信息源。
- 设置标签范围以限制变更日志。
- 通过标签过滤标题1。
- 为变更日志设置自定义标题(例如,标题)。
- 为HEAD修订版本设置自定义标题(例如,下一个版本号)。
- 为HEAD修订版本设置自定义日期(例如,下一个发布日期)。
- 设置自定义消息以指示没有提交。
- 包含或不包含合并提交。
- 设置排序键以对标签/版本进行排序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列。
-
正文必须只包含关于是什么和为什么的解释,决不能包含如何做。后者属于文档和实现部分。