【问题标题】:How does npm version work?npm 版本如何工作?
【发布时间】:2017-11-15 22:03:01
【问题描述】:

我对@9​​87654321@ 的工作原理有点模糊。文档说:

如果在 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

【问题讨论】:

    标签: git npm npm-version


    【解决方案1】:

    你的理解基本正确

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

    1. 根据package.json 中的指示调整包版本
    2. 创建一个只包含对package.json 的更新的提交,并在调用npm version 时指定消息。
    3. 创建一个 git 标签

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


    长答案

    至于您通过 cmets 对此表示感兴趣时我们执行的确切命令:

    将文件添加到暂存:

    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.

    【讨论】:

    • 我对它如何与 git 交互更感兴趣。它为你执行了哪些 git 命令?
    • @jwerrre 我现在已将这些添加到我的答案中
    猜你喜欢
    • 2019-02-09
    • 1970-01-01
    • 2014-08-27
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 2021-02-14
    • 1970-01-01
    相关资源
    最近更新 更多