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

 

Rustory是一个基于Rust开发的版本控制工具,专为个人开发者设计,旨在简化项目快照、历史记录和配置的管理。它提供了类似Git的功能,但更侧重于易用性,特别适合于实验性代码、脚本、配置文件等个人项目的版本控制。Rustory的设计目标是本地优先、轻量高效、简单易用,并通过内容去重和压缩存储来优化磁盘空间。核心特性包括快照管理、差异比较、标签系统、忽略规则、垃圾回收、完整性验证和丰富的统计信息。

💡 **快照管理**:Rustory 允许用户快速创建和恢复项目快照,方便保存不同版本的代码和文件。

🔍 **差异比较**:它能够智能地检测和显示文件之间的差异,帮助用户了解不同版本之间的变化。

🏷️ **标签系统**:用户可以为重要的快照添加描述性标签,方便快速定位和管理特定版本的项目内容。

🗑️ **垃圾回收**: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 版本控制 个人项目 快照管理
相关文章