Crates.io | git-plumber |
lib.rs | git-plumber |
version | 0.1.3 |
created_at | 2025-06-06 20:22:09.961943+00 |
updated_at | 2025-08-20 20:27:42.277051+00 |
description | Explore git internals, the plumbing |
homepage | |
repository | https://github.com/ejiektpobehuk/git-plumber |
max_upload_size | |
id | 1703425 |
size | 564,532 |
[!IMPORTANT] Pre-release software. Expect bugs and incomplete features.
🎥 Click above to watch git-plumber in action (asciinema demo)
git-plumber is a CLI and TUI application for exploring the internals of git repositories in a safe, read-only way.
Browse and understand the contents of the .git/
directory: refs, trees, blobs and more.
Demystify compressed and binary “plumbing” beneath git’s familiar porcelain appearance.
Perfect for learning, live experimentation, or just satisfying your curiosity.
git-plumber
in a test repository and see immediately how every command reshapes your repo’s internals.git cat-file
or git verify-pack
Dev versions are built from the latest main
commit.
They are available:
nix run github:ejiektpobehuk/git-plumber
ejiek/git-plumber:dev
at Docker Hubghcr.io/ejiektpobehuk/git-plumber:dev
They are built from tags, are more rare and still not stable. However, they have better availability:
nix run github:ejiektpobehuk/git-plumber/${VERSION}
More packaging details are available in issue #1
Prerequisites:
1.88
git clone https://github.com/ejiektpobehuk/git-plumber.git
cd git-plumber
cargo install --path .
This app is my git learning project. It's going to be more complete as my knowledge grows.
For planned features checkout issues at GitHub.
Major goals:
PRs/issues welcome — no need to be a git guru! Beginners and documentation helpers are especially appreciated. If something is unclear, that’s a sign the app can get better: lease open an issue or start a discussion!
Read the project’s Guiding Principles and contribution tips in CONTRIBUTING.md.
In Git terms, “porcelain” is the friendly VCS user-facing interface, while “plumbing” is the low-level machinery underneath — the content‑addressed filesystem with packfiles, deltas and much more. It's described in more details in Pro Git, Chapter 10.1 Git Internals - Plumbing and Porcelain.
git-plumber
helps you to explore the plumbing part.
MIT
Not a git management tool. Not for your day-to-day workflow. This is for those who want to see git’s wiring and learn how it all fits together.
🕳️ Happy plumbing! 🔧