Git Branch Stacking Utility
Project description
Panqake: Stack Git Branches Without the Headache
Panqake is a CLI tool that makes managing dependent pull requests significantly easier by automating the entire git-stacking workflow. Stop dealing with painful rebases and focus on your code instead.
What Problems Panqake Solves
- Reviews no longer block progress on dependent work
- Simplify complex workflows with a single command for common operations
- Eliminate manual rebasing when working with dependent branches
- Automate PR management for each branch in your stack
Quick Installation
uv tool install panqake
Dependencies:
- gh: GitHub CLI (only needed for PR creation)
Core Commands
| Command | What it Does |
|---|---|
panqake new feature-name |
Create a new branch in your stack |
panqake update |
Update all child branches after parent changes |
panqake pr |
Create PRs for your entire branch stack |
panqake merge |
Merge a PR and update all dependents automatically |
Real-World Workflow Example
Here's how to build a stack of dependent features:
# Start from main
git checkout main
# Create your base feature branch
pq new auth-backend
# Make changes, commit them
git add .
git commit -m "Implement authentication backend"
# Create a dependent branch for frontend work
pq new auth-frontend
# Make changes, commit them
git add .
git commit -m "Add login form UI"
# Need to fix something in the backend?
git checkout auth-backend
# Make your changes, commit them
git add .
git commit -m "Fix auth token validation"
# Update your entire stack with one command
pq update
# Create PRs for your entire stack
pq pr
# After approval, merge with a single command
pq merge
Advanced Features
Track Existing Git Branches
Add branches created outside panqake to your stack:
pq track feature-branch
Modify/Amend Commits
Update your current branch's commit and propagate changes:
# Make file changes
pq modify -m "Better implementation"
Delete a Branch While Maintaining Stack
pq delete feature-old
Why Choose Panqake
- Designed for real workflows: Stack PRs without effort
- Single command operations: Complex git operations condensed to simple commands
- GitHub integration: Seamlessly works with GitHub PRs
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file panqake-0.3.1.tar.gz.
File metadata
- Download URL: panqake-0.3.1.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.6.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
781a62a52afd34af0df273a381454f9449e724dc154cd6f24f06f42155d356d9
|
|
| MD5 |
65fe502baa12b1dd0543d4818341a95c
|
|
| BLAKE2b-256 |
89989e511e056dac913e6b8a37a397cb54e838ecf9453acd440449610f5c41fb
|
File details
Details for the file panqake-0.3.1-py3-none-any.whl.
File metadata
- Download URL: panqake-0.3.1-py3-none-any.whl
- Upload date:
- Size: 25.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.6.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a65fb5e33a5d301a0d067ac974d7804c15d1661c4c327fa512a6f5795198a7ea
|
|
| MD5 |
28f47779ab8f824c4260d9c21f52e28c
|
|
| BLAKE2b-256 |
f14732c71c8d906a400dd34c3768561d2ddc8902c9daa2d7eb8c977664d23bde
|