-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Simple, cross-platform version control with zip storage

Zippy is a lightweight, Git-inspired version control tool that stores your project versions as zip files. Itβs perfect for simple backups, sharing, and versioning without the complexity of full-blown VCS systems.
- Cross-platform: Works on Windows, Linux, and macOS
- No server required: All data is local, portable, and easy to share
- .zippyignore: Ignore files/folders just like .gitignore
-
Human-readable tags: Use version tags like
v1.0,release-2024, etc. - Easy restore: Instantly restore any version or just a specific file/folder
- Simple CLI, easy to learn
- Staging area (like git add)
- Commit with message and tag
- List, diff, and restore versions
- Patch existing versions
- Status command shows what will be committed and what changed
- Cross-platform builds (Windows, Linux, macOS, 32/64 bit)
Download from the Releases page for your OS/arch:
-
zippy.exefor Windows -
zippyfor Linux/macOS
- Install Go
- Clone this repo:
git clone https://github.com/pixcapsoft/zippy.git cd zippy - Build for your platform:
Or use the provided
go build -o zippy
build.batfor all platforms/architectures (Windows only).
zippy init- Prompts for repo name, author, and description
- Creates
.zippy/metadata folder and a sample.zippyignore
Edit .zippyignore to list files/folders to exclude from versioning (supports globs like *.log, node_modules/, etc).
zippy add <file/folder>
# or add everything:
zippy add .zippy commit -m "Your message" -v "v1.0"zippy listzippy restore <version>
# or restore a specific file/folder:
zippy restore <version> <path>zippy diff <version1> <version2>zippy patch <version> <file/folder>zippy statuszippy version
zippy help
zippy aboutzippy init
zippy add .
zippy commit -m "Initial commit" -v "v1.0"
zippy add src/main.go
zippy commit -m "Add main.go" -v "v1.1"
zippy list
zippy status
zippy restore v1.0 src/main.go
zippy patch v1.1 README.md
zippy diff v1.0 v1.1.zippy/ # Zippy metadata directory
βββ config.json # Repository configuration
βββ versions/ # Version metadata files (JSON)
βββ storage/ # Zip files for each version
β βββ v1.0.zip
β βββ v1.1.zip
βββ stage.json # Staging area (auto-managed)
- Always use
zippy addbeforezippy committo stage files. - Use meaningful version tags and commit messages.
- Regularly check
zippy statusto see what will be committed and what changed. - Edit
.zippyignoreto avoid archiving unwanted files (logs, build artifacts, etc). - You can restore a single file or folder from any versionβgreat for quick rollbacks!
- Use
zippy patchto add files to an existing version if needed.
Q: Is Zippy a replacement for Git?
- No. Zippy is for simple, local versioning and backup. For collaboration and advanced workflows, use Git.
Q: Can I use Zippy on any project?
- Yes! It works with any folder, any language, any platform.
Q: Where are my versions stored?
- In
.zippy/storage/as zip files, with metadata in.zippy/versions/.
Q: Can I share a Zippy repo?
- Yes! Just share the whole project folder, including
.zippy/.
-
No merge conflicts!
- Because youβre the only one using it (probably).
-
No remote drama.
- No one can force-push to your repo but you!
-
No cryptic commands.
- Youβll never have to Google 'how to undo git rebase' again.
-
No detached HEADs.
- Zippy doesnβt even know what that means.
-
No .git folder bloat.
- Just a neat
.zippy/and some zips. Marie Kondo would approve.
- Just a neat
-
Restore a single file in one command.
- No checkout gymnastics required.
-
No need to remember SHA hashes.
- Use human tags like
v1.0,final-final, oroh-god-why.
- Use human tags like
-
No blame.
- Zippy is a judgment-free zone.
-
No pull requests.
- If you want to argue with yourself, thatβs your business.
-
No 'git push --force'.
- Zippy believes in second chances (and third, and fourth...)
Disclaimer: If you need to collaborate, branch, or work with a team, use Git. If you want to zip and chill, use Zippy!
Pull requests and issues are welcome! See CONTRIBUTION.md for details.
Zippy License. See LICENSE for details.