stax is a command-line and terminal interface for managing stacks of Git branches and their associated pull requests. Stacked development splits a larger change into a series of dependent branches so each piece can be reviewed independently while development continues further up the stack.
The project now covers much more than creating a simple chain of branches. It maintains stack metadata, synchronises branches as their parents change, manages pull requests and can coordinate stacks across multiple worktrees and machines.
This is free and open source software.
Key Features
- Create branches as part of an ordered stack and visualise their relationships.
- Submit an entire stack as a sequence of linked pull requests.
- Refresh stacks after lower branches have merged and restack remaining work automatically.
- Synchronise stack branches against their remote counterparts.
- Can reconcile remote changes back into local stack branches when requested.
- Provides CLI and terminal interfaces for viewing and manipulating stacks.
- Native GitHub Stacked PR integration can register compatible pull requests as a GitHub Stack.
- Can link and unlink native GitHub stacks explicitly when required.
- Supports worktree-based development with multiple branches checked out independently.
- Worktree lanes provide isolated environments for parallel pieces of work.
- Reusable worktree slots can preserve dependency directories between tasks.
- Supports restacking several worktree lanes after the trunk branch moves.
- Can promote work from an auxiliary worktree back to the main worktree.
- Tracks stack health and provides information useful for diagnosing inconsistent branch relationships.
- Supports workflows where stack state must be reconciled across more than one development machine.
Website: github.com/cesarferreira/stax
Support:
Developer: César Ferreira
License: MIT License
stax is written in Rust. Learn Rust with our recommended free books and free tutorials.
Related Software
| Git Workflow Tools | |
|---|---|
| git-extras | Superb collection of tools for Git |
| forgit | Utility for using git interactively |
| wrkflw | Validate and run GitHub Actions workflows locally |
| git-branchless | Branchless workflow for git |
| git-absorb | Super-charging git rebase |
| git-toolbelt | Suite of useful Git commands |
| git-open | Adds a handy git open command to Git. |
| git-town | Automate the creation, synchronization, shipping, and cleanup |
| git-fuzzy | Interactive git with the help of fzf |
| git-recent | Jump between recently used local Git branches |
| git-machete | Robust tool that simplifies your git workflows |
| git-flow-next | Modern implementation of the Git-flow branching model |
| Git Interactive Rebase Tool | Terminal-based sequence editor for interactive rebase |
| git-crecord | Interactively select changes to commit or stage |
| git-xargs | Update across multiple GitHub repositories |
| git-prompt.zsh | Lightweight git prompt for zsh |
| git-imerge | Incremental merge and rebase for Git |
| git revise | Git subcommand and Python library |
| wtp | Enhanced Git worktree management |
| LazyWorktree | Git worktree management for the terminal |
| Hug SCM | The Humane Source Control Management Interface |
| git-smart | Small collection of Git helper commands |
| stax | CLI and TUI for stacked Git branches and PRs |
| git-fixup | Command-line helper for Git users |
| git-autofixup | Git helper that creates fixup commits for topic branches |
| Branchlet | Create and manage Git worktrees |
| git-when-merged | Merge commit finder |
| git-flow | High-level repository operations |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.