npm版本如何工作?

jwe*_*rre 6 git npm npm-version

我对npm version工作方式有点朦胧.文件说:

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

这是否意味着我不必运行git commit或者git 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
Run Code Online (Sandbox Code Playgroud)

Pet*_*eid 10

你的理解大多是正确的

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

  1. 颠倒了包装版本 package.json
  2. package.json使用调用时指定的消息创建仅包含更新的提交npm version.
  3. 创建一个git标签

然后,您可以执行npm publish以发布到npm注册表,并在您认为合适时将git推送到远程存储库


答案很长

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

将文件添加到登台:

git add /path/to/package.json
Run Code Online (Sandbox Code Playgroud)

见源.

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

创建提交:

git commit -m {version message}
Run Code Online (Sandbox Code Playgroud)

见源.

至于标签的创建:

git tag {version no.} -am {version message}
Run Code Online (Sandbox Code Playgroud)

或者如果开启了签名:

git tag {version no.} -sm {version message}
Run Code Online (Sandbox Code Playgroud)

见源.

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