Git Branch Stacking Utility
Project description
Panqake - Git Branch Stacking Utility
Panqake is a set of shell utilities for implementing the git-stacking workflow. It helps manage stacked branches, making it easier to work with multiple dependent pull requests.
Installation
-
Clone this repository:
git clone https://github.com/yourusername/panqake.git
-
Add the panqake directory to your PATH or create symlinks to the panqake script in a directory that's already in your PATH.
-
Dependencies:
- jq: For JSON processing
- gh: GitHub CLI (optional, only needed for PR creation)
Usage
Create a new branch in the stack
panqake new feature-login
This creates a new branch based on your current branch and tracks the relationship.
View the branch stack
panqake list
Displays a tree view of your current branch stack.
Update branches after changes
panqake update
After making changes to a branch, this command rebases all child branches to incorporate your changes.
Delete a branch and relink the stack
panqake delete feature-old
Deletes a branch and relinks its children to its parent, maintaining the stack structure.
Create PRs for the branch stack
panqake pr
Creates pull requests for each branch in the stack, starting from the bottom.
Workflow Example
-
Start a new feature stack from main:
git checkout main panqake new feature-base
-
Make your initial changes and commit.
-
Create a dependent branch for additional work:
panqake new feature-ui
-
Make changes and commit in the feature-ui branch.
-
If you need to update the feature-base branch:
git checkout feature-base # Make changes and commit panqake update
-
Create PRs for your stack:
panqake pr
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Changelog
v0.1.1 (Unreleased)
- Switched CLI interface from prompt_toolkit to questionary for improved user experience
- Enhanced command-line prompts with better styling and autocomplete
- Fixed styling issues in branch listing display
- Improved output formatting for colored text
- Added custom color scheme that works well on both light and dark terminals
- Added documentation for the style system
v0.1.0
- Initial release with core functionality
- Branch stacking management
- PR creation support
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.1.0.tar.gz.
File metadata
- Download URL: panqake-0.1.0.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e35e58c9943e468110369d51907ae3b1cb714f54132f7694ce8e4e80a06965a
|
|
| MD5 |
791c5214ffde3e61f1958f091cf869db
|
|
| BLAKE2b-256 |
80f1b82f8b829197804839314bccab2a22c1b3200830f7752379111a2bf4049d
|
File details
Details for the file panqake-0.1.0-py3-none-any.whl.
File metadata
- Download URL: panqake-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
092454db3c6901c6a94696108a89feaf6476c899dd32077852802594d30b67cb
|
|
| MD5 |
c19dc08bf43b796429a28b5a01092961
|
|
| BLAKE2b-256 |
fb41bc49aca03622d933cb470ee963c26f726973b89d3606da4049d775ee89cf
|