matijakovacevic / changelog
使用本地git提交信息和标签更新CHANGELOG.md
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