Pangolin supports Git-like branching for your data. You can create branches to experiment, isolate changes, or manage data lifecycles.
View all branches in a catalog.
Syntax:
pangolin-user list-branches --catalog <catalog_name>Example:
pangolin-user list-branches --catalog salesCreate a new branch from an existing one (defaulting to main).
Syntax:
pangolin-user create-branch --catalog <catalog> <name> [--from <source_branch>] [--branch-type <type>] [--assets <asset_list>]Parameters:
--catalog(required): Catalog namename(required): Name of the new branch--from(optional): Source branch to branch from (default:main)--branch-type(optional): Branch type -main,feature, orexperiment--assets(optional): Comma-separated list of assets for partial branching
Examples:
Basic branch creation:
# Create a feature branch from main
pangolin-user create-branch --catalog sales feature/q3_adjustments
# Create a branch from an existing branch
pangolin-user create-branch --catalog sales experimental --from devEnhanced Branching (with branch types):
# Create a feature branch with explicit type
pangolin-user create-branch --catalog sales feature-x \
--branch-type feature
# Create an experiment branch
pangolin-user create-branch --catalog sales experiment-1 \
--branch-type experimentPartial Branching (specific assets only):
# Create a branch with only specific tables
pangolin-user create-branch --catalog sales feature-subset \
--branch-type feature \
--assets "customers,orders,products"
# Create an experiment branch with a single table
pangolin-user create-branch --catalog sales test-pricing \
--branch-type experiment \
--assets "pricing_model"Use Cases:
- Feature Development: Create feature branches to develop new data transformations
- Experimentation: Create experiment branches to test data changes without affecting production
- Partial Branching: Create branches with only the tables you need to work with, reducing overhead
- Data Isolation: Isolate changes to specific datasets while keeping others unchanged
Merge changes from one branch into another (e.g., merging a feature branch back into main).
Syntax:
pangolin-user merge-branch --catalog <catalog> --source <src> --target <tgt>Example:
pangolin-user merge-branch --catalog sales --source feature/q3_adjustments --target main