npm 版本如何工作?
How does npm version work?
我对 npm version
的工作原理有点模糊。文档说:
If run in a git repo, it will also create a version commit and tag.
这是否意味着我不必 运行 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
你的理解基本正确
当您执行 npm version
命令时,将完成以下操作:
- 按照
package.json
中的指示修改包版本
- 创建一个提交,仅包含对
package.json
的更新,并在调用 npm version
. 时指定消息
- 创建一个 git 标签
然后您可以执行 npm publish
发布到 npm 注册表,并 git 在您认为合适时将您的标签推送到您的远程存储库
长答案
至于您通过评论表示对此感兴趣时我们执行的确切命令:
正在将文件添加到暂存区:
git add /path/to/package.json
如果 lock 和 shrinkwrap 包文件也存在,它们也会按上述方式添加!
创建提交:
git commit -m {version message}
关于标签的创建:
git tag {version no.} -am {version message}
或者如果打开签名:
git tag {version no.} -sm {version message}
作为参考,version message
是可选的,如果它从 CLI 输入中排除,那么它将默认具有 version no.
的值。
我对 npm version
的工作原理有点模糊。文档说:
If run in a git repo, it will also create a version commit and tag.
这是否意味着我不必 运行 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
你的理解基本正确
当您执行 npm version
命令时,将完成以下操作:
- 按照
package.json
中的指示修改包版本
- 创建一个提交,仅包含对
package.json
的更新,并在调用npm version
. 时指定消息
- 创建一个 git 标签
然后您可以执行 npm publish
发布到 npm 注册表,并 git 在您认为合适时将您的标签推送到您的远程存储库
长答案
至于您通过评论表示对此感兴趣时我们执行的确切命令:
正在将文件添加到暂存区:
git add /path/to/package.json
如果 lock 和 shrinkwrap 包文件也存在,它们也会按上述方式添加!
创建提交:
git commit -m {version message}
关于标签的创建:
git tag {version no.} -am {version message}
或者如果打开签名:
git tag {version no.} -sm {version message}
作为参考,version message
是可选的,如果它从 CLI 输入中排除,那么它将默认具有 version no.
的值。