因为不满 git,我写了自己的本地版本管理工具 Rustory

85 天前
 imes

实验性代码的快照保存!

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 的优势场景

🎯 设计目标

🏗️ 核心特性

5091 次点击
所在节点    程序员
31 条回复
javalaw2010
85 天前
感觉出发点有点奇怪

“会出现好几个版本都要用,版本与版本之间存在微小差异,但是又具有延续性。既要来回对比,又要反复改动。”

为啥不是在同一个脚本中,通过参数、选项或者配置文件来调整这些小的行为差异呢。
litchinn
85 天前
git worktree?
15855pm
85 天前
可能运维和测试这种写脚本多,写工程少的人能理解这个工具的作用
maocat
85 天前
我觉得你应该对标 SVN

不如直接叫 RustSVN 吧
isSamle
85 天前
@javalaw2010 这题我会,比如我有一个项目 A ,然后基于这个项目开发了 A1/A2/A3 ,然后 A 有改动,需要同步到 A1/A2/A3
imes
85 天前
@litchinn #2
受到了 git worktree 和 snv 的启发,但是用起来不顺手,就直接自己写了。
calvinHxx
85 天前
emm...这些需求。用类似 fork 的 gitgui 已经可以实现了吧。拉几个分支,缓存几个本地局部文件 stash 就可以了吧。
sampeng
85 天前
我以前也有这个困扰。后来。。。jetbrains 有本地历史记录。就无所谓了。而且是可视化的。多次救我老命。
自己撸的不一定比 jetbrains 被无数人用的功能完善和 bug 少。
javalaw2010
85 天前
@isSamle 我们也有这个场景,我的方案是 A 项目导出 patch ,A1/A2/A3 应用这个 patch 就好了,20 分钟前刚刚执行了一次这样的操作。
imes
85 天前
@sampeng #8
看来不止我一个人有类似困扰
dupenn
85 天前
真棒,我去给你加星
YsHaNg
85 天前
Rewrite Everything In Rust
rekulas
85 天前
git 完胜
因为敲 git 只需要 3 下 rustory 需要 7 下 👀
MacsedProtoss
85 天前
咱就是说 多分支 worktree 是哪里不好用了
而且这个玩意用 rust 写真的会更快吗🤔
codehz
85 天前
能像 git 一样记录上次合并的冲突解决方案并自动应用吗
imes
85 天前
@codehz #15
不行,它不是 git 的替代品
qishua
85 天前
@rekulas 你真有才
james122333
85 天前
@javalaw2010

跟我一样 worktree 与複製相差无己 都占空间
类 unix 原生方法好用很多
Reficul
85 天前
目前在用 worktree 的我表示情绪稳定。
james122333
85 天前
其实不用原生指令也可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1139495

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX