Как работает версия npm?

Я немного смутный о том, как npm version работает. В документации сказано:

Если запустить git-репо, он также создаст версию и тэг.

Значит ли это, что мне не нужно бежать 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

1 ответ

Решение

Ваше понимание в основном верно

Когда вы выполняете npm version Команда следующее сделано:

  1. версия пакета удара, как указано в package.json
  2. создать коммит, содержащий только обновление package.json с сообщением, указанным при вызове npm version,
  3. создать тег 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.,

Другие вопросы по тегам