- with homebrew (preferred)
brew tap viqueen/labset
brew install git-workspaces
- with npm (not recommended)
npm install @labset/git-workspaces -g
git clone https://github.com/viqueen/git-workspaces.git
cd git-workspace
npm install
npm link
- list recent git branches that you've interacted with locally, select one to check it out
git recent
- list merged git branches that you still have locally, multi select the ones you want to delete
git merged
git merged origin/master
- list squashed git branches that you still have locally, multi select the ones you want to delete
git squashed
git squashed origin/master
- list recent branches that you've interacted with, multi select the ones you want to delete
git tidy
- start by some configuration
git workspace-config
it will add the following git global config entries
git.workspaces.root # where you want all your workspaces to be
git.workspaces.default # your default workspace, i.e open-source vs work
git.workspaces.github.username # your github username
git.workspaces.github.personal.token # your github personal access token
- add a repo to your workspace
git workspace-add <urlConnection> # adds to default workspace
git workspace-add <urlConnect> -w <name> # adds to workspace with provided name
- view your workspace
git workspace # describes default workspace
git workspace -w <name> # describes workspace with provided name
- clone your entire workspace
git workspace-clone
git workspace-clone -w <name>
- sync workspace with GitHub, it requires GitHub username and token to be set when working with private repos
git sync-github # logged in user repos
git sync-github --user <namespace>
git sync-github --org <namespace>
git sync-github --org <namespace> --archived # include archived
git sync-github --user <namespace> --forked # include forked
- sync workspace with Bitbucket Cloud, it requires Bitbucket username and token to be configured
git sync-bitbucket --namespace <namespace>
- execute a script across your git workspace
git workspace-exec <script-file> [args...]