在不用 Git 的情况下,有什么软件能实现 git-status 的作用?

2022-03-01 12:58:30 +08:00
 pocarisweat

假设情况是:

那么现在能想到的办法是每次从 A 同步到 B 后,列出 B 相比上次同步变更了的文件,只重新上传这些文件。Git 可以实现这个功能,但全盘 Git 好像不是什么好主意,而且 Git 会保留每个文件版本的副本( git-lfs 可以解决?)

所以好奇,有实现 git-status 功能的工具吗?或者说自己写个程序递归遍历 stat 信息就可以?

2240 次点击
所在节点    git
10 条回复
msg7086
2022-03-01 13:01:48 +08:00
rsync 不是能列表吗?
rekulas
2022-03-01 13:05:19 +08:00
我觉得你应该要解决的问题是找一款好用的同步软件,同步软件都是差量备份
不好用 /无法使用是什么情况,百度云阿里 oss 工具用起来都挺正常的
pocarisweat
2022-03-01 13:11:06 +08:00
@msg7086
谢谢!忘了从这个角度想了
https://serverfault.com/questions/618735/how-to-output-a-list-of-changed-files-from-rsync
应该能基本解决问题
lx0758
2022-03-01 13:25:58 +08:00
Beyond Compare
Reficul
2022-03-01 15:57:31 +08:00
rsync
SSang
2022-03-01 16:32:15 +08:00
rsync 本身就能支持增量,你要获取列表 tee 日志输出一下就好了

oss 也支持增量,参考一下 api 文档,就是一个 -u 参数的事情
SSang
2022-03-01 16:32:46 +08:00
顺便,网盘你去找他的 api 文档,现在比较主流的网盘基本都是支持增量的
SSang
2022-03-01 16:36:14 +08:00
记错了,oss 不是查 api ,是 ossutil 工具
给你找了,https://www.alibabacloud.com/help/zh/doc-detail/179388.htm#concept-1937458
所以其实你根本也不需要获取更新列表,直接调对象存储或网盘的 API 或接口就好了
coder001
2022-03-02 01:14:53 +08:00
最简单的方法:存档属性
备份完了之后去掉存档属性
当文件变更之后系统会帮你加上存档属性
按属性筛选就知道那些文件变更了
hxy100
2022-04-23 23:39:18 +08:00
如果你的宿主机是 Linux ,可以直接使用 rsync+notify ;
如果是 Windows ,可以用 C#写个命令行程序后台进程守护即可,C#有个 FileSystemWatcher 类可以实现此功能;

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

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

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

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

© 2021 V2EX