Shell 如何在npm版本命令后自动将标签推送到git?

Shell 如何在npm版本命令后自动将标签推送到git?,shell,npm,Shell,Npm,: 在包目录中运行此命令以提升版本并将新数据写回package.json[…]如果在git repo中运行,它还将创建一个版本提交和标记 如何配置npm/wrapnpm version命令以自动将标签推送到git?,即等效于: npm版本修补程序 + foo@3.0.1 git推送源代码v3.0.1 NPM文档建议在prackage.json中添加一个 “脚本”:{ “postversion”:“git push&&git push--tags&&rm-rf build/temp” } 但是

:

在包目录中运行此命令以提升版本并将新数据写回package.json[…]如果在git repo中运行,它还将创建一个版本提交和标记

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

npm版本修补程序
+ foo@3.0.1
git推送源代码v3.0.1
NPM文档建议在
prackage.json
中添加一个

“脚本”:{
“postversion”:“git push&&git push--tags&&rm-rf build/temp”
}

但是,此建议仅适用于单个软件包,这是不好的,因为它同步所有标记,而不仅仅是上次创建的标记。

假设新标记是当前修订版上的唯一标记,类似的方法可能会起作用

$ npm version patch
$ tag=$(git tag --points-at HEAD)
$ git push origin "$tag"
否则,您可以像这样尝试捕获(并解析)npm版本补丁的输出(假设输出总是
+foo@3.0.1
并且标签总是
v
$ tag=$(npm version patch 2>&1)
$ tag=v${tag#*@}
$ git push origin "$tag"