Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

panqake-0.4.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

panqake-0.4.0-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file panqake-0.4.0.tar.gz.

File metadata

  • Download URL: panqake-0.4.0.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.16

File hashes

Hashes for panqake-0.4.0.tar.gz
Algorithm Hash digest
SHA256 0efeef16056f86b0c9f7dbd37a1cc14c52c02cde140704f20314e67695b865c3
MD5 f22d1c9221828124120d4ee3e3038b11
BLAKE2b-256 4c3a80767d364c10db2c8d1e88c9862c3808e615a107acab78b26ecf1bf202fe

See more details on using hashes here.

File details

Details for the file panqake-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: panqake-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.16

File hashes

Hashes for panqake-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 36bd5fb1de729585591f69c9be735467e7f282370f097bcc2c8ffdc775ab47f6
MD5 5a7f1acaf207c6b8708ecf9bdc303e0e
BLAKE2b-256 4ee55e1e22b857ef010e8658b16974d80883e803c61bc1da5f742b099e7fc99b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page