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.3.1.tar.gz (16.0 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.3.1-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

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

Hashes for panqake-0.3.1.tar.gz
Algorithm Hash digest
SHA256 781a62a52afd34af0df273a381454f9449e724dc154cd6f24f06f42155d356d9
MD5 65fe502baa12b1dd0543d4818341a95c
BLAKE2b-256 89989e511e056dac913e6b8a37a397cb54e838ecf9453acd440449610f5c41fb

See more details on using hashes here.

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

Hashes for panqake-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a65fb5e33a5d301a0d067ac974d7804c15d1661c4c327fa512a6f5795198a7ea
MD5 28f47779ab8f824c4260d9c21f52e28c
BLAKE2b-256 f14732c71c8d906a400dd34c3768561d2ddc8902c9daa2d7eb8c977664d23bde

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