OffGit is an offline-first Git repository manager designed to enable developers to queue, cache, and clone repositories without requiring an internet connection.
Key Features:
Queue and Cache Repositories: Add Git repositories to a queue while online, then cache them locally for later use.
Offline Cloning: Clone repositories directly from the cached data without needing an internet connection.
Sync When Online: Push commits or re-fetch updates when back online, ensuring seamless integration with remote repositories.
Repository Management: Use commands to update, rename, pin, or export cached repositories for flexible workflow management.
Built-in Security: Includes a blocklist feature to prevent known malicious repositories from being queued or cached.
Command-Line Interface (CLI): Operate entirely through the command line, making it easy to integrate into existing workflows.
Audience & Benefit:
Ideal for developers who work in environments with limited or unreliable internet access. OffGit enhances productivity by enabling seamless Git operations offline, while still maintaining secure and efficient repository management.
OffGit can be installed via winget, ensuring quick and straightforward setup. Its focus on reliability and security makes it a valuable tool for managing repositories without compromising workflow efficiency.
README
OffGit
> Git that works without internet.
Offline-first Git repository manager for Windows. Queue repos while you have a connection, cache them locally, then clone and work completely offline — no wifi needed.
How it works
1. Queue repos you want while online
2. Run fetch-all to mirror them locally
3. Go offline — clone and work as normal
4. Sync back when you have internet again
Building
You need Visual Studio with the C++ workload installed.
Open Visual Studio
Create a new C++ Console App
Add all .cpp and .h files from the offgit/ folder
Build in Release x64
To add offgit to your PATH so you can run it from anywhere, run Add-Path.bat as administrator after building.
Usage
offgit queue add Add a repo to the queue
offgit queue remove Remove a repo from the queue
offgit queue list List all queued repos
offgit fetch-all Cache all queued repos (needs internet)
offgit update Re-fetch a specific cached repo
offgit sync Push queued commits when back online
offgit clone Clone from cache — no wifi needed
offgit info Show branches and size of a cached repo
offgit diff Show changes since last fetch
offgit list List all cached repos with size on disk
offgit search Search your queue by name
offgit status Show network status, queue, and cache info
offgit history Show log of all OffGit actions
offgit remove Delete a repo from cache
offgit rename Rename a cached repo
offgit pin Pin a repo so it never gets auto-cleaned
offgit unpin Unpin a repo
offgit export Copy a cached repo to a USB or folder
offgit import Import a repo from USB into cache
offgit clean Remove all uncached entries from queue
offgit purge Wipe the entire cache
offgit doctor Check and fix broken cached repos
offgit help Show all commands