在包目录中运行此命令以阻止版本并将新数据写回package.json [..]如果在git repo中运行,它还将创建版本提交和标记。
如何配置npm / wrap npm version
命令以自动将标签推送到git ?,即相当于:
npm version patch
+ foo@3.0.1
git push origin v3.0.1
NPM文档建议在prackage.json
中添加postversion
script,例如
"scripts": {
"postversion": "git push && git push --tags && rm -rf build/temp"
}
但是,此建议仅适用于单个包,因为它同步所有标记,而不仅仅是最后创建的标记。
答案 0 :(得分:1)
假设新标签是当前版本中唯一可能有用的标签。
$ npm version patch
$ tag=$(git tag --points-at HEAD)
$ git push origin "$tag"
否则,您可以尝试捕获(并解析)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
调用之前抓取可用标记,然后针对可用标记对该列表进行区分,之后应找到新标记并推送它。