The Git plugin in release-it, by default, does the following:
- Prerequisite checks
- [Files may be updated by other plugins and/or user commands/hooks]
git add . --update
git commit -m "[git.commitMessage]"
git tag --annotate --message="[git.tagAnnotation]" [git.tagName]
git push [git.pushArgs] [git.pushRepo]
When not in CI mode, release-it will ask for confirmation before each of the commit, tag, and push steps.
Configure the [git.*]
options to modify the commands accordingly. See
all options and their default values.
SSH keys and Git remotes are assumed to be configured correctly. If a manual git push
from the command line works,
release-it should be able to do the same.
The following help pages might be useful:
- SSH
- Managing Remotes (GitHub)
- SSH keys (Bitbucket)
- SSH keys (GitLab)
By default, release-it
uses "origin"
as the remote name to push to. Use git.pushRepo
to override this with a
different remote name, or a different git url.
In case extra arguments should be provided to Git, these options are available:
git.commitArgs
git.tagArgs
git.pushArgs
For example, use "git.commitArgs": "-S"
to sign commits (also see
#35).
To skip the Git steps entirely (for instance, if you only want to npm publish
), this shorthand is available:
release-it --no-git
Use e.g. git.tag: false
or --no-git.tag
to skip a single step.
By default, untracked files are not added to the release commit. Use git.addUntrackedFiles: true
to override this
behavior.