GitTwin
Run multiple git commits, branches, or tags of the same application side by side, each in its own isolated environment — for comparison, debugging, regression testing, and demonstrations.
Status: early / pre-alpha. The pipeline described below is the design target; the CLI is just getting started.
Why
Reproducing "it worked on commit X but not on commit Y" usually means stashing changes, checking out refs one at a time, and juggling ports, dependencies, and env files by hand. GitTwin is meant to make that a single command:
- Point it at a repo and a list of refs (commits, branches, or tags).
- It spins up an isolated environment — its own worktree, dependencies, and ports — for each ref.
- You run, compare, and debug them side by side, without one checkout clobbering another.
- Tear it all down in one command when you're done.
Install
uv add gittwin
pip install gittwin
Usage
gittwin about
gittwin --version
Development
This project uses uv for dependency management.
uv sync --extra dev # install package + dev deps into .venv
uv run pytest -q # run tests
uv run gittwin about # run the CLI
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 gittwin-0.1.0.tar.gz.
File metadata
- Download URL: gittwin-0.1.0.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab074385d324ae93bf8380763c8ccb17112fdd53c39de1b61f2a658db6f005c8
|
|
| MD5 |
345513d1c22c037273f775bfe9019991
|
|
| BLAKE2b-256 |
993854ea25d479c4786ffce9a071a4ffc77ce2c9d1c27ae895ca0e8adae51d76
|
File details
Details for the file gittwin-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gittwin-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
074d259e7b29ae6568d2b824bdfbe84d71cf297cfad6d0e939893a19f42a1a1b
|
|
| MD5 |
df030e5bcb749d2235f6eb2f744eed00
|
|
| BLAKE2b-256 |
1f29348f2d1062e6a890832de62f7d8298fdd0431a462cbedb29950ab59b5abf
|