matijakovacevic/changelog

使用本地git提交信息和标签更新CHANGELOG.md

1.0.1 2019-02-22 17:36 UTC

This package is auto-updated.

Last update: 2024-09-24 05:00:55 UTC


README

一个简单的bash脚本来(版本)更新CHANGELOG.md,使用本地GIT提交信息和标签。

简介

脚本的全部目的在于自动化更新变更日志的过程,通过正确地编写提交信息,使得其他人能够理解,并正确地“标记”代码中进行的更改。

关于“如何编写Git提交信息”的好文章 [https://chris.beams.io/posts/git-commit/]

该脚本的生成输出可以在本包的变更日志文件中查看,因此遵循“吃自己的狗粮”原则。

注意

该脚本很容易被“黑掉”,这意味着它没有对标签等进行验证。

脚本的全部目的在于帮助您自动化过程,而输入乱码只会浪费您的时间。

MacOS注意

由于脚本使用GNU sed,因此它不能直接在MacOS(使用BSD sed)上运行。如果您想在MacOS上使用它,则需要安装gsed(GNU sed)并将其符号链接到sed

http://gridlab-d.shoutwiki.com/wiki/Mac_OSX/Gsed

安装

按项目

composer require --dev matijakovacevic/changelog

或全局

composer global require matijakovacevic/changelog

用法

如果没有CHANGELOG.md,脚本将创建它。否则,它将获取从最后一个标签做出的提交,忽略合并提交,并将它们放在CHANGELOG.md文件中的“新版本”标题下。

标题是根据找到的最后一个标签生成的,遵循语义版本控制 [https://semver.org/]。如果您有要解析的标签,则可以提供如(major|minor|patch)之类的参数,否则您可以使用自己的版本,例如1.5.2

完成后,它将在活动分支上创建一个提交,更改CHANGELOG.md文件,并带有提交信息“changelog updated to $TAG”

changelog [major|minor|patch]
changelog 1.0.1

按项目(从composer bin文件夹)

./vendor/bin/changelog ...

或全局

changelog ...

相关内容

保持变更日志 [https://keepachangelog.com/en/1.0.0/]

github - 如何使用git管理变更日志? - Stack Overflow [https://stackoverflow.com/questions/3523534/good-ways-to-manage-a-changelog-using-git]

一些(更高级的)库

由于我目前处于PHP生态系统,其中大部分是PHP库

PHP的语义版本控制辅助库

SemVer [https://github.com/PHLAK/SemVer]

从GitHub上的存储库生成变更日志。基于版本、问题、标签和拉取请求

ins0/github-changelog-generator [https://github.com/ins0/github-changelog-generator]

自动软件发布中的繁琐任务。快乐地发布和发布您的Git存储库、npm包、GitHub & GitLab版本、变更日志等等!

webpro/release-it [https://github.com/webpro/release-it]

Jira & Git工作流程工具

Rentlio/jit [https://github.com/Rentlio/jit]

贡献

如果您想贡献,您可以自由地发起一个pull request