小米手机助手备份结果居然就是一个git的本地repo

2013-12-13 14:47:46 +08:00
 xiaoxuxu
好奇手机上是不是也是一个repo,备份还原的时候就是用git来回push?有没有人研究过的?
8415 次点击
所在节点    程序员
22 条回复
Livid
2013-12-13 14:48:38 +08:00
挺聪明的做法。git 处理文件变化的增量是非常好的手段。
9hills
2013-12-13 14:49:15 +08:00
这个是好想法啊,用git做同步解决方案
lijinma
2013-12-13 15:00:11 +08:00
好赞啊
jemygraw
2013-12-13 15:00:59 +08:00
金山快盘好像也是把。
dorentus
2013-12-13 15:08:24 +08:00
在专业的工具的基础之上构建自己的工具,挺好。
Xrong
2013-12-13 15:17:00 +08:00
我去,好想法。。。
est
2013-12-13 15:35:15 +08:00
@Livid 只有文本文件才能增量呢。sqlite3数据库等二进制格式怎么增量?
sethverlo
2013-12-13 15:46:38 +08:00
@est 二进制没办法增量
zhonghua
2013-12-13 16:11:20 +08:00
@sethverlo 所以二进制数据和文本数据得分开两个repo放,一个用svn,一个git
是这个意思么?
sethverlo
2013-12-13 16:16:56 +08:00
@zhonghua 我没用过 svn……如果 svn 可以给二进制计算增量的话那么肯定没问题,至于说分两个 repo 也不是难事儿。
zhonghua
2013-12-13 16:22:03 +08:00
@sethverlo 如果svn可以计算二进制增量,那GIT肯定也没问题。
我的意思是,GIT是一个提交一个提交更新的,这个方式对于二进制数据,没有意义。
所以,我的意思是,二进制数据就不用GIT了,用SVN,直接更新到最新就好了。
young
2013-12-13 16:23:56 +08:00
万一碰到 git 报 xxxx object empty 怎么办?
难道 rm 掉之后再 git pull
Kabie
2013-12-13 16:28:50 +08:00
嗯比自己做一个蹩脚的替代品聪明多了……
dorentus
2013-12-13 16:46:17 +08:00
@zhonghua svn 需要中心服务器,实现起来更麻烦。

不过我大致明白你的意思了,你是说在手机上,只保留指定的版本,不保留其它提交的记录。那么 git 是完全可以做到的,参见: http://stackoverflow.com/q/1209999/90172

我没用过小米手机助手,不过据猜测的,它备份的结果应该是保存在电脑上的,那么保存成 git repo 的话,就可以自然地保留每次备份的记录、并支持手机恢复到任意备份;保存成 svn repo 也可以,不过,PC 端得实现一个 svn server,而 git 不需要。
dorentus
2013-12-13 16:52:54 +08:00
@dorentus 上面说的好像有些乱。

简而言之,就是 svn 可以实现的 git 也可以,两者相比,顶多是同等的,svn 并没有优势。

至于分两个 repo 的方案,算是 premature optimization 了吧,而且复杂度也大大提升了。
allenforrest
2013-12-13 16:56:26 +08:00
其实用rsync也是一个聪明的做法,相比git更简单,一样能很好的解决增量备份和差异传输的目的。
dorentus
2013-12-13 16:59:50 +08:00
@allenforrest
但是 rsync 原生没法支持恢复到之前版本,于是如果这个功能是必需的话,就不太好用 rsync 了。
allenforrest
2013-12-13 17:03:25 +08:00
@dorentus 同意,同步历史和回溯,rsync不是天然具备的,git的优势在这里。
zorceta
2013-12-13 17:41:04 +08:00
搭车求安卓git库
auxten
2013-12-14 22:48:45 +08:00
有启发!

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

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

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

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

© 2021 V2EX