Installation
With Nix and flakes enabled, which brings the shell completions:
nix profile install github:roschaefer/git-splice
nix run github:roschaefer/git-splice -- status # or try it first
Otherwise, download a binary for Linux or macOS, x86-64 or ARM, or for
Windows, x86-64, from the
releases, and put
git-splice (git-splice.exe on Windows) on your PATH. The archive also
has the shell completions.
Or build it with Rust:
cargo install --git https://github.com/roschaefer/git-splice git-splice
Git runs any git-<name> executable on your PATH as git <name>, so make
sure ~/.cargo/bin/ is on it.
Requires:
- Git >= 2.40.
git subtreeisn't needed.
Shell completions
completions/ has completions for bash, zsh and fish. They complete
commands, splice paths and --rebuilt-commit branches. The Nix package installs
them; for a clone:
# bash: source from ~/.bashrc
source /path/to/git-splice/completions/git-splice.bash
# zsh: install as `_git-splice` on your $fpath, then restart the shell
ln -s /path/to/git-splice/completions/git-splice.zsh \
/usr/local/share/zsh/site-functions/_git-splice
# fish
mkdir -p ~/.config/fish/completions
ln -s /path/to/git-splice/completions/git-splice.fish \
~/.config/fish/completions/git-splice.fish
Try it first
A clone of git-splice can also build a throwaway monorepo and open a
shell in it, to try the commands without touching your own repositories:
see the sandbox.