Skip to content

Instantly share code, notes, and snippets.

@witt3rd
Last active June 7, 2019 12:00
Show Gist options
  • Save witt3rd/5e05403a619c13d0d2b48d432c4ca33a to your computer and use it in GitHub Desktop.
Save witt3rd/5e05403a619c13d0d2b48d432c4ca33a to your computer and use it in GitHub Desktop.

Meta

Meta is a NodeJS-based shell command that provides a solution to working with many repos across machines/teams without the tradeoffs involved with submodules or monorepos.

Install

npm i -g meta

Create a new meta repo

mkdir my-meta-repo
cd my-meta-repo
meta init

Add projects

From my-meta-repo:

meta project add my/folder [email protected]:a-github-account/a-repo.git
meta project add my/other-folder [email protected]:other-github-account/other-repo.git

Add and share this meta repo

Add this meta repo to a git repo, [email protected]:me/my-meta-repo.git, then it can be recreated on other machines:

meta git clone [email protected]:me/my-meta-repo.git

Keep in sync

Push/pull changes to this meta repo as projects are added/removed. After receiving changes, sync the repos:

meta git update

All other git commands work as well, e.g., git pull.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment