| name | meta-git |
| description | Git operations across multiple repositories — status, commit, push, pull, snapshots, multi-commit. |
Meta Git Skill
Git operations across multiple repositories. One command operates on ALL repos in the workspace.
The Core Insight
Use meta git instead of git when you want to operate across the workspace:
meta git status
meta git commit -m "feat: update"
Cloning a Meta Repo
meta git clone <url>
meta git clone <url> --recursive
meta git clone <url> --parallel 8
meta git clone <url> --depth 1
How it works: Meta clones the parent, reads .meta, then queues and clones all children in parallel. With --recursive, it repeats for any child that has its own .meta.
Updating All Repos
meta git update
This is the "sync workspace" command - ensures you have all repos at latest.
Snapshots (Critical for Batch Operations)
Before making sweeping changes, create a snapshot:
meta git snapshot create before-refactor
meta git snapshot list
meta --dry-run git snapshot restore before-refactor
meta git snapshot restore before-refactor
What snapshots capture per repo:
- Current SHA
- Branch name
- Dirty status
On restore: If a repo has uncommitted changes, meta automatically stashes them before checking out the snapshot state.
Common Git Operations
All standard git commands work:
meta git pull
meta git push
meta git fetch
meta git checkout -b feature/new-thing
meta git add .
meta git diff
meta git log --oneline -5
Filtering
Target specific repos:
meta --tag backend git status
meta --include api,web git push
meta --exclude legacy git pull
Workflow Patterns
Starting Work
meta git status
meta git snapshot create wip
meta git pull
After Making Changes
meta git status
meta git add .
meta git commit -m "feat: ..."
meta git push
Safe Batch Refactoring
meta git snapshot create before-changes
meta git status
meta git snapshot restore before-changes
SSH Optimization
For faster parallel operations:
meta git setup-ssh
Configures SSH connection multiplexing for reuse across parallel git operations.
MCP Tools for Git Operations
When the meta MCP server is available, these tools provide structured JSON output:
| Tool | Purpose |
|---|
meta_git_multi_commit | Per-repo commit messages in one call (for audit trails when changes differ) |
meta_git_status | Structured git status across all repos |
meta_git_diff | Structured diff output |
meta_git_branch | Branch info across repos |
Efficiency Tips
- Targeted commits:
meta --include repo1,repo2 git commit -m "msg" commits in exactly the repos you want
- Tag-based push:
meta --tag backend git push pushes only tagged repos
- Per-repo messages: Use
meta_git_multi_commit when changes in different repos need different commit messages
- One-call status:
meta git status replaces N individual cd && git status sequences