像往常一样,在我的package.json文件中,我定义了我的存储库URL:
{
"repository": {
"type": "git",
"url": "http://my.git.repo"
}
}
我正在尝试定义一个脚本,该脚本将推送到我的仓库并推送标签。通常这样的事情可以解决问题:
{
"scripts": {
"push": "git push origin && git push origin --tags"
}
}
但是我们处理拉取请求,对我们来说origin
是我们的私人分叉。 public
通常是公共回购,但不能依赖。我希望我的推送脚本始终推向公共回购:
{
"scripts": {
"push": "git push http://my.git.repo && git push http://my.git.repo --tags"
}
}
但这涉及复制repo url,当人们复制这个种子项目时,他们将忘记更新所有3个地方的url。我想引用已经在package.json
中指定的repo的url我尝试过这样的事情:
{
"scripts": {
"push": "git push $npm_package_repository_url && git push $npm_package_repository_url --tags"
}
}
基于此网页:https://docs.npmjs.com/misc/scripts#packagejson-vars但不起作用。
非常感谢
答案 0 :(得分:0)
语法
$npm_package_repository_url
在Mac OS X / Linux(bash)上可以正常工作,但Windows需要%npm_package_repository_url%
。您可以尝试使用cross-var启用一种脚本语法(即$npm_package_repository_url
)以跨平台工作。
感谢RobC的支持