git-vmr

Install v0.8.0

Published on Jun 5 2026 at 16:50 UTC
View all installation options
View all installation options

git-vmr: multi-repo flexibility with monorepo ergonomics

This project follows the ai-disclosure convention: see AI_DISCLOSURE.md.

git-vmr is a Git CLI wrapper for interacting with multiple repositories as a single unified workspace, combining the flexibility of independent repositories with the ergonomics of a monorepo.

Install

On macOS and Linux:

curl https://eugencowie.github.io/git-vmr/install.sh | sh

On Windows in PowerShell:

irm https://eugencowie.github.io/git-vmr/install.ps1 | iex

Commands

These are common git-vmr commands used in various situations:

Start a working area

Command Description Supported?
clone Clone a repository into a new directory
init Create an empty virtual monorepo or reinitialize an existing one

Work on the current change

Command Description Supported?
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index

Examine the history and state

Command Description Supported?
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status

Grow, mark and tweak your common history

Command Description Supported?
backfill Download missing objects in a partial clone
branch List, create, or delete branches
commit Record changes to the repository
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Set HEAD or the index to a known state
switch Switch branches
tag Create, list, delete or verify tags

Collaborate

Command Description Supported?
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects

Unique commands

Command Description Supported?
foreach Evaluates an arbitrary shell command in each checked out repository

docs/git-vmr.md lists available subcommands. See docs/git-vmr/<command>.md to read about a specific subcommand or concept.

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, see https://www.gnu.org/licenses/.