git-stk 0.1.0

Git-native stacked branch workflow helper
Documentation

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

just install
just check
cargo install --path .

After installation, Git can use the binary as a sub-command:

git stk list

Commands

Local stack metadata:

git stk new <branch>
git stk parent [branch]
git stk children [branch]
git stk list
git stk adopt <branch> --parent <parent>
git stk detach [branch]

Navigation and re-stacking:

git stk up
git stk down [branch]
git stk restack [--update-refs | --no-update-refs]
git stk continue
git stk abort

Provider-backed workflows:

git stk provider
git stk status [branch]
git stk review [branch]
git stk sync [branch] [--dry-run]
git stk submit [branch] [--dry-run]
git stk submit --stack [--dry-run]
git stk cleanup [branch] [--dry-run] [--delete-branch]

Providers

Provider detection uses stack.provider first, then stack.remote, then origin:

git config stack.provider github  # or gitlab
git config stack.remote 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:

just generate-assets

Generated files are written under target/generated.

Project Tasks

just build
just test
just lint
just check

License

Copyright (c) 2026 Lara Kelley. MIT License. See LICENSE.