💡

Zsh Git Sync

A zsh plugin to sync git repositories and clean them up.

caarlos0-graveyard
|
42 stars
7 forks

git-sync Build Status

Sync git repositories and clean them up.

a gif showing git-sync in action

Define sync

  • prune origin or upstream;
  • merge upstream into current branch;
  • push merged branch to fork (origin);
  • remove merged branches.

Install

$ antibody bundle 'caarlos0/zsh-git-sync kind:path'

Or use antigen to load it as a shell plugin.

Usage

If you used antibody, the folder will be cloned and added to your $PATH, so, calling git sync will just work out of the box.

Otherwise, you'll need to add it to your git config:

$ git config --global alias.sync '!zsh -ic git-sync'

There is also git delete-local-merged, which only deletes locally merged branches (part of the cleanup thing).

Again, with antibody, git delete-local-merged will just work, otherwise:

Example:

$ git config --global alias.delete-local-merged '!zsh -ic git-delete-local-merged'