gpt4 book ai didi

git - 从提交和标记生成变更日志

转载 作者:太空狗 更新时间:2023-10-29 14:31:46 29 4
gpt4 key购买 nike

我正在尝试为项目(bitbucket.org 中的 repo 协议(protocol))生成变更日志,但找不到简单的解决方案。我们正在使用 this pattern

(<type>(<scope>): <subject>)

填写提交消息,并标记版本(0.1、0.2、0.3)。

是否有任何开箱即用的东西(一些脚本、npm 包等),或者我能做的最好的事情是使用 git log 编写一些自定义脚本并解析数据(提交消息等)。 ..)?

我知道有一个 github-changelog-creator,但只要这个存储库在 bitbucket 存储库中,我就不能使用。

最佳答案

我们正在使用这个简单的 shell 脚本来生成按标签排序的分层更改日志,最新的标签在最上面。

#!/usr/bin/env bash
previous_tag=0
for current_tag in $(git tag --sort=-creatordate)
do

if [ "$previous_tag" != 0 ];then
tag_date=$(git log -1 --pretty=format:'%ad' --date=short ${previous_tag})
printf "## ${previous_tag} (${tag_date})\n\n"
git log ${current_tag}...${previous_tag} --pretty=format:'* %s [View](https://bitbucket.org/projects/test/repos/my-project/commits/%H)' --reverse | grep -v Merge
printf "\n\n"
fi
previous_tag=${current_tag}
done

您可以将它作为一些 shel 文件放在项目根目录中并运行它(取决于您的平台,您可能需要使其可执行),如下所示

sh change-log-builder.sh > changelog.md

生成的 changelog.md 看起来像这样


v1.1.0 (2017-08-29)

  • 添加 IPv6 支持 [查看]
  • 添加 TreeMaker 类及其测试。 [查看]

v1.0.9 (2017-08-22)

  • 更新 composer.json.lock [查看]

v1.0.8 (2017-08-22)

  • 添加 S3Gateway 作为替代类 [View]
  • 删除不再使用的文件[查看]

关于git - 从提交和标记生成变更日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40865597/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com