churchtools/changelogger

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

v0.8.0 2023-09-21 10:28 UTC

README

Changelogger Banner

Total Downloads Latest Stable Version License Travis Build Status

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

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

它做什么?

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

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

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

Changelogger不会获取你的git日志。有许多工具可以从你的git日志中提取提交消息并将其转换为变更日志条目。在我看来,这通常会导致糟糕的变更日志。提交消息不是变更日志。它们是开发者信息的一部分,而不是用户信息。我们的变更日志是手工制作的,因为非开发者,也就是我们的用户,应该能够理解这些变化。

安装

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

composer require --dev churchtools/changelogger

或全局安装。

composer global require churchtools/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