axro/changelogger

用于创建一致且可提交的变更日志条目的CLI工具。

v0.8.1 2023-06-12 13:34 UTC

This package is auto-updated.

Last update: 2024-09-08 06:42:27 UTC


README

PHP 8.2 兼容的https://github.com/churchtools/changelogger分支

Changelogger Banner

Changelogger是一个CLI工具,可帮助您创建更好的变更日志

在ChurchTools,我们开发SaaS。为了使我们的用户了解情况,我们为每个版本编写变更日志。我们过去常常把变更日志添加到问题中,但很多时候我们忘记添加变更日志——手动复制粘贴是很繁琐的工作!这个工具帮助我们编写和创建一致且可提交的变更日志,以便审查者可以在合并之前进行检查。

它做什么?

Changelogger 将每个日志条目保存为 changelogs/unreleased 目录中的YAML文件。在开发过程中,许多来自不同功能、错误修复等文件会进入这个文件夹。

我们为每个更改创建一个不同的文件,以便轻松跟踪它们。将它们添加到单个文件,如 Changelog.md,可能会导致令人讨厌的合并冲突。每个更改一个文件可以避免这种情况。

最后,如果构建了一个新版本,Changelogger 会将所有未发布更改排序,并将新版本添加到 CHANGELOG.md。之后,将删除 changelogs/unreleased 目录中的所有文件,您的项目即可为下一个版本做好准备。

Changelogger不会获取您的git日志。 存在许多工具会获取您的git日志并将提交信息转换为变更日志条目。我认为在许多情况下,这会导致糟糕的变更日志。提交信息不是变更日志。它们是供开发人员使用的信息片段,而不是供用户使用。我们的变更日志是手工制作的,因为非开发人员,即我们的用户,应该能够理解这些更改。

安装

此包需要PHP 8.2。您可以将包作为开发依赖项要求

composer require --dev axro/changelogger

或全局安装。

composer global require axro/changelogger

使用方法

# To add a new changelog use `new`.
changelogger new

# When a new version is released run `release` to generate the changelog.
# The <tag> is the version number or build number of the release.
changelogger release <tag>

# Need to start over? Run `clean` to remove all unreleased logs.
changelogger clean

Changelogger Demo

许可证

churchtools/changelogger使用Apache License 2.0许可