V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xiaoxuxu
V2EX  ›  程序员

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

  •  
  •   xiaoxuxu · 2013-12-13 14:47:46 +08:00 · 8657 次点击
    这是一个创建于 4022 天前的主题,其中的信息可能已经有所发展或是发生改变。
    好奇手机上是不是也是一个repo,备份还原的时候就是用git来回push?有没有人研究过的?
    22 条回复    1970-01-01 08:00:00 +08:00
    Livid
        1
    Livid  
    MOD
       2013-12-13 14:48:38 +08:00
    挺聪明的做法。git 处理文件变化的增量是非常好的手段。
    9hills
        2
    9hills  
       2013-12-13 14:49:15 +08:00
    这个是好想法啊,用git做同步解决方案
    lijinma
        3
    lijinma  
       2013-12-13 15:00:11 +08:00
    好赞啊
    jemygraw
        4
    jemygraw  
       2013-12-13 15:00:59 +08:00
    金山快盘好像也是把。
    dorentus
        5
    dorentus  
       2013-12-13 15:08:24 +08:00
    在专业的工具的基础之上构建自己的工具,挺好。
    Xrong
        6
    Xrong  
       2013-12-13 15:17:00 +08:00
    我去,好想法。。。
    est
        7
    est  
       2013-12-13 15:35:15 +08:00
    @Livid 只有文本文件才能增量呢。sqlite3数据库等二进制格式怎么增量?
    sethverlo
        8
    sethverlo  
       2013-12-13 15:46:38 +08:00
    @est 二进制没办法增量
    zhonghua
        9
    zhonghua  
       2013-12-13 16:11:20 +08:00
    @sethverlo 所以二进制数据和文本数据得分开两个repo放,一个用svn,一个git
    是这个意思么?
    sethverlo
        10
    sethverlo  
       2013-12-13 16:16:56 +08:00
    @zhonghua 我没用过 svn……如果 svn 可以给二进制计算增量的话那么肯定没问题,至于说分两个 repo 也不是难事儿。
    zhonghua
        11
    zhonghua  
       2013-12-13 16:22:03 +08:00
    @sethverlo 如果svn可以计算二进制增量,那GIT肯定也没问题。
    我的意思是,GIT是一个提交一个提交更新的,这个方式对于二进制数据,没有意义。
    所以,我的意思是,二进制数据就不用GIT了,用SVN,直接更新到最新就好了。
    young
        12
    young  
       2013-12-13 16:23:56 +08:00
    万一碰到 git 报 xxxx object empty 怎么办?
    难道 rm 掉之后再 git pull
    Kabie
        13
    Kabie  
       2013-12-13 16:28:50 +08:00   ❤️ 1
    嗯比自己做一个蹩脚的替代品聪明多了……
    dorentus
        14
    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
        15
    dorentus  
       2013-12-13 16:52:54 +08:00
    @dorentus 上面说的好像有些乱。

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

    至于分两个 repo 的方案,算是 premature optimization 了吧,而且复杂度也大大提升了。
    allenforrest
        16
    allenforrest  
       2013-12-13 16:56:26 +08:00
    其实用rsync也是一个聪明的做法,相比git更简单,一样能很好的解决增量备份和差异传输的目的。
    dorentus
        17
    dorentus  
       2013-12-13 16:59:50 +08:00
    @allenforrest
    但是 rsync 原生没法支持恢复到之前版本,于是如果这个功能是必需的话,就不太好用 rsync 了。
    allenforrest
        18
    allenforrest  
       2013-12-13 17:03:25 +08:00
    @dorentus 同意,同步历史和回溯,rsync不是天然具备的,git的优势在这里。
    zorceta
        19
    zorceta  
       2013-12-13 17:41:04 +08:00 via Android
    搭车求安卓git库
    auxten
        20
    auxten  
       2013-12-14 22:48:45 +08:00
    有启发!
    porcorosso
        21
    porcorosso  
       2013-12-15 12:02:54 +08:00
    不错
    moonese
        22
    moonese  
       2013-12-29 16:12:55 +08:00
    这个git repo用普通的git命令没法看log,有谁知道怎么查看备份的内容吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3095 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 13:46 · PVG 21:46 · LAX 05:46 · JFK 08:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.