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-cliSee 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-stashas a team, you can move the protected branches from$REPO/.git/configto$REPO/.gitconfigand 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.