Manage snapshots of your working directory
Dual-licensed under MIT or Apache 2.0
Backup and restore what your branches, including what they point at.
Download a pre-built binary (installable via gh-install).
Or use rust to install:
cargo install git-branch-stash-cli
See the uninstall method for your installer.
Once removed, git-branch-stash
leaves behind:
.git/branch-stash
Removing this is safe and will have no effect.
Protected branches: These are branches like main
or v3
that git-branch-stash
must not modify. git-branch-stash
will also rebase local protected branches against
their remote counter parts.
Run git-branch-stash --protected -v
to test your config
- To locally protect additional branches, run
git-branch-stash --protect <glob>
. - When adopting
git-branch-stash
as a team, you can move the protected branches from$REPO/.git/config
to$REPO/.gitconfig
and commit it.
Pull remote when working from a fork, where upstream is a different remote than
origin
, run git config --add stack.pull-remote <REMOTE>
to set your remote in $REPO/.git/config
.
To see the config, run git-branch-stash --dump-config -
.
Have an idea, we'd love to hear it!
There are probably git
operations or workflows we haven't heard of and would
welcome the opportunity to learn more.