V2EX 06月19日 00:29
[程序员] 因为不满 git,我写了自己的本地版本管理工具 Rustory
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Rustory 是一款基于 Rust 语言开发的版本控制工具,专为个人开发者设计,旨在简化项目快照管理、历史记录追踪和配置。它提供了类似 Git 的功能,但更侧重于易用性,适用于个人项目、快速原型、学习环境以及对轻量级版本控制有需求的场景。Rustory 具有本地优先、轻量高效、简单易用和存储优化等特点,能够帮助开发者更轻松地管理代码和文件版本。

💾 Rustory 的核心功能包括快照管理,可以快速创建和恢复项目快照,方便用户在不同版本之间切换,同时支持文件差异比较功能,可以智能地检测和显示文件变更,帮助用户更好地理解版本之间的差异。

🏷️ 为了更好地组织和管理版本,Rustory 引入了标签系统,允许用户为重要的快照添加描述性标签,方便快速定位和查找。此外,Rustory 还支持 Git 风格的文件忽略模式,可以灵活地配置哪些文件或目录不被纳入版本控制。

🗑️ 为了优化存储空间,Rustory 采用了内容去重和压缩存储技术,并提供垃圾回收功能,自动清理过期数据。同时,Rustory 还具备数据完整性检查和修复功能,以及丰富的仓库使用统计信息,为用户提供全面的版本控制体验。

实验性代码的快照保存!

https://github.com/uselibrary/rustory


写 python 测试程序(运维狗/验证狗),会出现好几个版本都要用,版本与版本之间存在微小差异,但是又具有延续性。既要来回对比,又要反复改动。每次用 git 来回跳,操作着一堆 git 命令,偶尔还忘了到底哪个是哪个,只能在命名上加内容,最终名称比我皮带还长,过几天我还忘了到底哪个是哪个。测试期间生成的文件,大多数是重名的,反复测试导致覆盖,后面再想找回来又是 git 一顿输入,再配合上一顿拍大腿。

觉得 git 不满足我的要求,那我就自己重复造轮子。

rustory commit -m "提交 v2 版本测试参数" # 提交版本rustory commit -m "添加图像显示新功能" # 提交新功能rustory history # 查看记录ID       时间                     +  ~  -  消息ab12cd   2025-06-18T15:30:00      2  1  0  "添加图像显示新功能"ef34gh   2025-06-17T10:15:30      5  0  2  "提交 v2 版本测试参数"rustory rollback ef34gh # ./rustory-backup/backup-2025-06-17T10:15:30/* # 将特定版本的完整快照恢复到 rustory-backup 文件夹中

Rustory 是一个基于 Rust 的版本控制工具,为个人开发者提供简单直观的版本控制旨,轻松管理项目的快照历史记录配置。它提供了类似于 Git 的功能,但 Rustory 不是 Git 的替代品。Rustory 更专注于易用性,即跟踪快照还原项目文件变更。

🚀 Rustory 的优势场景

🎯 设计目标

🏗️ 核心特性

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Rustory 版本控制 个人开发者 快照管理
相关文章