git-stk
Git-native stacked branch workflow helper with GitHub and GitLab review integration.
git-stk keeps stacks as ordinary Git branches. Stack parent metadata is stored locally in .gitconfig as
branch.<name>.stackParent, and GitHub PR bases or GitLab MR target branches can be used to reconstruct that metadata.
Status
This project is experimental. The current implementation focuses on local stacked branch workflows plus provider-backed review lookup, sync, submit, and cleanup. It does not replace Git's branch model or attempt automatic conflict resolution.
Install For Development
After installation, Git can use the binary as a sub-command:
Commands
Local stack metadata:
Navigation and re-stacking:
Provider-backed workflows:
Providers
Provider detection uses stack.provider first, then stack.remote, then origin:
GitHub support shells out to gh. GitLab support shells out to glab. Authenticate those CLIs before using provider
commands.
Re-stacking
restack follows Git's rebase.updateRefs config by default. Use --update-refs or --no-update-refs to override that
for one run. If a rebase conflicts, git-stk records state in .git/stack-state; resolve conflicts and run
git stk continue, or run git stk abort.
Generated Assets
Shell completions and a man page can be generated with:
Generated files are written under target/generated.
Project Tasks
License
Copyright (c) 2026 Lara Kelley. MIT License. See LICENSE.