Git Wok
Git Wok manages multiple Git repositories as one workspace, with Git submodules as the source of truth.
Use it to keep many component repos in sync for daily development, updates, and releases from a single umbrella repository.
Features
- Workspace setup for existing umbrellas (
init) or directories of repos (assemble) - Daily multirepo operations (
status,switch,lock,update,push) - Repo configuration management (
add,rm) - Release workflows across repos (
tag create,tag list,tag push) - Selective targeting: current-branch repos (default),
--all, or explicit paths - Per-repo
skip_forcontrols inwok.tomlfor bulk commands - Git LFS-aware
updateandpushbehavior - Shell completion generation for Bash, Zsh, and Fish
- Authentication diagnostics with
test-auth
Quick Start
# Install from crates.io
# In an existing umbrella repository with submodules
# Check workspace state
# Reconcile repos using branch state from wok.toml on "main"
# Update subrepos and commit updated submodule pointers
# Push all repos (and umbrella)
# Create and push a signed release tag in all repos
Documentation
- Main docs: https://git-wok.dev/
- Getting started: https://git-wok.dev/getting-started/
- CLI reference: https://git-wok.dev/cli/
- Wokfile reference: https://git-wok.dev/wokfile/
Community
- Delta Chat: Git Wok group