Skip to content

ejiektpobehuk/git-plumber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

git-plumber

asciicast

🎥 Click above to watch git-plumber in action (asciinema demo)

Explore a .git/ directory and peek into git’s internals from a terminal. A visual, interactive companion to “Pro Git” Chapter 10 and anyone curious about what’s under git’s hood.


What is git-plumber?

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. Demystifying compressed and binary “plumbing” beneath git’s familiar porcelain appearance.

Perfect for learning, live experimentation, or just satisfying your curiosity.

Use cases

  • Learning with “Pro Git” 10. Git Internals): Fire up git-plumber in a test repository and see immediately how every command reshapes your repo’s internals.
  • Understanding git storage: See for yourself how git stores differences between versions — the reason this app was created!

What git-plumber is not?

  • Not a replacement for everyday git workflow
  • Not a “porcelain” UI like gitui or lazygit
  • Not an interface for running plumbing commands, but a worthy alternative to git cat-file or git verify-pack

Installation

Warning

Early version - best to build from source

Packaging is coming soon! Planned:

  • crates.io
  • Nix Flake
  • Docker
  • Linux distros

Building from source

Prerequisites:

git clone https://github.com/ejiektpobehuk/git-plumber.git
cd git-plumber
cargo install --path .

Roadmap & Contributions

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:

  • Navigation hints
  • Support for all native git files
  • Clear "unsupported" indicators
  • Internationalization (i18n)
  • git-bug support
  • jj support

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!


License

MIT


Credits & Inspiration


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! 🔧

About

Explore git internals, the plumbing

Topics

Resources

License

Stars

Watchers

Forks

Packages