A fast, interactive terminal utility written in Rust to find and safely
delete unused .git
folders across your file system.
~/projects gitclean ██████╗ ██╗████████╗ ██████╗██╗ ███████╗ █████╗ ███╗ ██╗ ██╔════╝ ██║╚══██╔══╝██╔════╝██║ ██╔════╝██╔══██╗████╗ ██║ ██║ ███╗██║ ██║ ██║ ██║ █████╗ ███████║██╔██╗██║ ██║ ██║██║ ██║ ██║ ██║ ██╔══╝ ██╔══██║██║╚████║ ╚██████╔╝██║ ██║ ╚██████╗███████╗███████╗██║ ██║██║ ╚███║ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚══╝ ┌──────────────────────────────────────────────────────────────┐ │ >> /home/user/projects/old-website/.git │ │ /home/user/projects/archive/2021/.git │ │ /home/user/projects/archive/demo-app/.git │ │ /home/user/projects/scratch/test-proj/.git │ │ /home/user/projects/tmp/experiment/.git │ └──────────────────────────────────────────────────────────────┘ [Scanning complete — 5 found] ↑↓ navigate d delete q quit
A minimal, focused tool that does one thing well.
Walks your entire directory tree in a background thread, reporting found .git folders in real time without freezing the UI.
Powered by ratatui — a full terminal UI with scrollable lists, status bars, and smooth key-driven navigation.
Select exactly which directories to remove. Nothing is deleted until you press d.
Written in Rust with multi-threaded scanning. Handles thousands of directories with a 16 ms poll interval for a snappy experience.
Runs on Linux, macOS, and Windows thanks to crossterm's portable terminal abstraction.
No config files, no flags required. Just run gitclean from any directory and it figures out the rest.
Three ways to get gitclean on your machine.
Make sure Rust 1.70+ is installed, then run:
cargo install --git https://github.com/Girgetto/gitclean.git
Navigate to the directory you want to clean:
cd ~/projects && gitclean
Clone the repository:
git clone https://github.com/Girgetto/gitclean.git && cd gitclean
Build and run with Cargo:
cargo run --release
Or install the binary globally:
cargo install --path .
Download the latest binary from the GitHub Releases page:
https://github.com/Girgetto/gitclean/releases/tag/v0.1.0
Make it executable and move it to your PATH (Linux/macOS):
chmod +x gitclean && mv gitclean /usr/local/bin/
Everything is keyboard-driven — no mouse required.
Tip: gitclean starts scanning as soon as it launches. Results stream in live — you can start navigating and deleting before the scan finishes.
Small, focused dependencies chosen for reliability and performance.