CLI tool that wraps git to manage versioning of projects in monorepos.
All commands accept the monorepo project to operate on, using the -p
flag. When none is specified, the flag defaults to .
that enables the tool for any repository type (also non-monorepo). The specified project should match the subdirectory of the project from the root path.
init
command releases and prints the initial version (0.1.0) for the specified project, if it has never been released.
version
command prints the latest version of the specified project.
release
command releases and prints a new version of the specified project, after looking up for a version bump command in the commits that reference files of that project.
diff
command prints out the modified files for the specified git reference range that match the project subdirectory.
log
command prints out the commits for the specified git reference range that match project subdirectory.
Initialise versioning:
gitmono init -p mod1
0.1.0
Get version:
gitmono version -p mod1
0.1.0
Release version:
gitmono release -p mod1
mod1/0.2.0
Diff modified files:
gitmono diff -p mod1 -f head~1 -t head
mod1/go.mod
Get commit log:
gitmono log -p mod1 -f head~2 -t head
7fd4cd0d6141b3cbc3c4f0a2206090140d2d7722 fix: mod1 modified