【发布时间】:2018-05-05 08:58:02
【问题描述】:
我正在创建一个脚本来运行整个“构建并推送到 git”流程。要提交我的更改,我需要包含提交消息,但我希望每次执行都有一个唯一的消息。我可以包含一个 bash 变量,以便用户可以创建消息吗?我基本上想做类似的事情:
//package.json
{
...
"scripts": {
"build:push2Git $message": "npm run build:local ;
npm run build:webpack && git add . && git commit -m $message
&& git push origin my-branch || echo 'Failed to push to git'",
...
}
}
然后脚本将作为 `npm run build:push2Git 'commit message #23445' 运行。这可能吗?我意识到我的例子可能非常错误,只是我想解释我想要什么以及我认为它会如何工作。
只是为了更新我厌倦的内容,并将其作为 bash 变量传递是行不通的。
所以我尝试了:
//package.json
{
...
"scripts": {
"build:push2Git $message": "npm run build:local ;
npm run build:webpack && git add . && git commit -m '$1'
&& git push origin my-branch || echo 'Failed to push to git'",
...
}
}
然后尝试将其称为 npm run build:push2Git my_custom_message 。不工作。使用提交消息“$1”将我的代码推送到我的存储区。
【问题讨论】:
-
也试过不加引号,出错了。
-
$message前面的build:push2Git有什么用?这对我来说工作正常:"build:push2Git": "git commit -m $1"运行时npm run build:push2Git "this is a commit message" -
我觉得这是像@betrandmartel 这样的印刷错误。我怀疑 npm 只是在该脚本部分进行查找,然后执行该值。因此,如果您放弃该 $message 它应该可以工作。
-
也许删除赏金并接受副本?