npm版本如何工作?

时间:2017-06-13 23:31:16

标签: git npm npm-version

我对npm version的工作原理有点模糊。文档说:

  

如果在git repo中运行,它还将创建一个版本提交和标记。

这是否意味着我不必运行git commitgit tag或者只是取代git tag -a <version>?如果我做了这样的事情,我会创建一个双重提交吗?

git add . -A
git commit -m "<commit message>"
git push origin master
npm version <patch|minor|major> -m "<version description>" ## instead of git tag -a <version> ##
git push --tags

1 个答案:

答案 0 :(得分:7)

您的理解大多是正确的

执行npm version命令时,完成以下操作:

  1. 按照package.json
  2. 中的指示修改包版本
  3. 创建一个提交,其中仅包含package.json的更新,并在调用npm version时指定了消息。
  4. 创建一个git标签
  5. 然后,您可以执行npm publish发布到npm注册表,并在您认为合适时将git推送到远程存储库

    答案很长

    至于我们执行的确切命令,你通过评论表达了对此的兴趣:

    将文件添加到登台:

    git add /path/to/package.json
    

    See source

    如果还存在lock和shrinkwrap包文件,它们也会如上所述添加!

    创建提交:

    git commit -m {version message}
    

    See source

    关于标签的创建:

    git tag {version no.} -am {version message}
    

    或者如果开启了签名:

    git tag {version no.} -sm {version message}
    

    See source

    作为参考,version message是可选的,如果它从CLI输入中排除,则默认值为version no.