An ultra-fast, zero-dependency Bash/Zsh and PowerShell command-line utility for managing multi-repository workspaces. Discovery, branch detection, and executions in one single tap.
Say goodbye to complex loops or scripts. mgit is designed to feel like native git but built to scale across all repositories in your workspace.
Scans the current directory automatically to isolate folders containing a Git repository. It ignores non-git directories completely, saving you from accidental failures.
Every repository output is prefixed with a beautiful, color-coded header showing the target directory name and its active branch. Instantly verify where your changes are.
Implemented directly in pure Bash/Zsh and PowerShell. It starts instantly and executes commands directly in parallel sequences with zero overhead or heavy runtimes.
Choose a common Git workflow below and watch how mgit discover repos, prints statuses, pulls commits, and switches branches in real-time.
mgit supports macOS, Linux, and Windows. Choose the method that best fits your environment.
The easiest way to install mgit is to download and run the script automatically.
curl -fsSL https://raw.githubusercontent.com/doggy8088/mgit/main/install.sh | bash
irm https://raw.githubusercontent.com/doggy8088/mgit/main/install.ps1 | iex
Clone the repository and run the local installation script to place it in your system binaries directory.
git clone https://github.com/doggy8088/mgit.git
cd mgit
./install.sh
git clone https://github.com/doggy8088/mgit.git
cd mgit
.\install.ps1
Navigate to any directory containing subfolders that are Git repositories, and run your command:
git status -s) for all repositories.git pull inside every subrepository.main across all repos.Clear answers to help you configure and troubleshoot mgit in your development flow.
On macOS and Linux, the standard Bash and Zsh shells are fully supported out of the box. For Windows systems, mgit.ps1 is compatible with PowerShell 5.1+ as well as PowerShell Core (pwsh).
No, mgit is designed to only scan the first layer of subdirectories. This makes execution extremely fast and prevents nested node_modules or system build folders from causing infinite execution loops.
Yes. mgit checks for the existence of a .git entry in the subdirectory, whether it is a folder (standard Git repo) or a file (as used by Git submodules or workspaces). In either case, it executes correctly.
If there are no subdirectories containing Git repositories, but the current directory itself contains a .git repository, mgit will fallback to executing the command on the current repository directly. It acts as an transparent wrapper.