【问题标题】:Using Git and Yarn Package.json script使用 Git 和 Yarn Package.json 脚本
【发布时间】:2023-04-08 14:41:02
【问题描述】:

我正在创建一个 package.json 脚本以使用 yarn 发送 git add . git commit -m "update" git push

我尝试使用一行按顺序发送上面的代码,但 git 不将其理解为不同的命令

我想要达到的目标:

"scripts": {
     "push": "git add . git commit -m \"update\" git push"
}
yarn push // should send script above

是否可以在终端上发送多个 git 命令?

【问题讨论】:

    标签: git cmd yarnpkg


    【解决方案1】:

    您的 yarn 脚本在后台生成了一个 shell 进程,因此基本上您必须使用与直接通过 shell 使用的语法相同的语法。

    在大多数 shell 中,您使用 && 链接命令,即 && 允许您根据前一个命令是否成功完成来执行某些操作 - 这就是为什么您倾向于将其链接为 do_something && do_something_else_that_depended_on_something

    所以你的解决方案是:

    "push": "git add . && git commit -m \"update\" && git push"
    

    【讨论】:

      【解决方案2】:

      您可以使用&&& 分隔符向终端发送多个命令。使用双 && 将阻止下一个命令运行,除非第一个命令成功。

      {
        "scripts": {
          "push": "git add . && git commit -m \"update\" && git push"
        }
      }
      

      附带说明,您还可以将添加和提交合并到一个命令中,git commit -am "update" 将添加并提交所有更改。

      【讨论】:

        猜你喜欢
        • 2017-05-29
        • 1970-01-01
        • 2020-07-27
        • 2020-04-19
        • 2019-09-05
        • 2018-03-18
        • 2017-12-03
        • 1970-01-01
        相关资源
        最近更新 更多