gpt4 book ai didi

shell - 如何在 npm version 命令后自动将标签推送到 git?

转载 作者:行者123 更新时间:2023-12-01 03:35:50 24 4
gpt4 key购买 nike

npm version :

Run this in a package directory to bump the version and write the new data back to package.json [..] If run in a git repo, it will also create a version commit and tag.



我如何配置 npm/wrap npm version命令自动将标签推送到 git?,即相当于:

npm version patch
+ foo@3.0.1
git push origin v3.0.1

NPM 文档建议添加 postversion scriptprackage.json ,例如

"scripts": {
"postversion": "git push && git push --tags && rm -rf build/temp"
}

但是,此建议仅适用于单个包,它很糟糕,因为它会同步所有标签,而不仅仅是最后创建的标签。

最佳答案

假设新标签是当前修订版上的唯一标签,这样的事情可能会奏效。

$ npm version patch
$ tag=$(git tag --points-at HEAD)
$ git push origin "$tag"

否则,您可以 try catch (并解析)来自 npm version patch 的输出也许像这样(假设输出总是 + foo@3.0.1 并且标签总是 v<part after @ )。
$ tag=$(npm version patch 2>&1)
$ tag=v${tag#*@}
$ git push origin "$tag"

您也可以尝试在 npm version patch 之前抓取可用标签。调用然后将该列表与可用标签进行比较,然后应该找到新标签,您可以推送它。

关于shell - 如何在 npm version 命令后自动将标签推送到 git?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35016509/

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