基于 Git 服务做一个网盘客户端 市面上还有其它的吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
ddup
V2EX    奇思妙想

基于 Git 服务做一个网盘客户端 市面上还有其它的吗?

  •  
  •   ddup 2018-11-06 08:37:15 +08:00 5969 次点击
    这是一个创建于 2530 天前的主题,其中的信息可能已经有所发展或是发生改变。

    正考虑怎么最方便的在自己开发的本地数据挖掘和全文搜索软件上,加入云协作,反复思量了下,

    感觉可以用 git,把自己总结的此方案优缺点发出来,这是个可以实践的思路大家可以试试,如有不当之处大家也可以斧正。

    需求比较简单

    电脑上的文件可以同步到云端 别人可以在浏览器里查看&下载,也能在同步到硬盘里更好不过了 别人在浏览量里搜索你的分享的文件

    这么做的原因

    从头开发一个这样的东西周期太长,如果可以基于 git 包装一下,实现此功能,那不是事半功倍吗。

    云服务器上自建一个 git server,可以用 gitlab 或者 gitea 等,对外不可直接访问,需要经过外部程序权限检查等,用户注册时,自动给它创建一个 git 账号,然后每分享一个文件夹出去,就创建一个 repo,使用权限控制住这个 repo 只有特定的人能够访问。

    基于 Git 构建网盘系统的好处

    • 可以保留所有版本历史
    • 久经考验,稳定可靠
    • 跨平台
    • 可以多人编辑
    • 良好的多人编辑冲突解决机制,这是目前市面上别的网盘比较缺失的功能?
    • 可以方便的分享给别人
    • 对于不放心将数据托管出去的,你甚至可以自建一个 git server ?

    缺点

    • 默认情况下仓库文件较大,因为本地会存储一份副本以及历史记录,不过好在微软的 GVFS 方案解决了这个问题。
    • 现有的 Git 客户端工具都是给工程师用的,普通用户使用有一定难度,需要开发简易化的客户端版本
    • 网盘是自动提交的,用 git 做网盘,需要考虑一个自动提交机制。
    • 你想到欢迎补充。。

    我看到有一个现成的

    https://github.com/amoblin/gitman

    不过只有 MacOS 版,各位还有在其它地方看到基于 Git 做网盘的工具吗?

    23 条回复    2018-11-29 16:02:07 +08:00
    lhx2008
        1
    lhx2008  
       2018-11-06 08:44:06 +08:00 via Android
    其实 svn 也行,乌龟客户端对于人类非常友好。
    ddup
        2
    ddup  
    OP
       2018-11-06 08:47:52 +08:00
    @lhx2008 #1 嘛,乌龟端对非开发人员,我比较没有信心,操作有点复杂了,把 git 客户端搞得跟网盘客户端差不多,普通用户就无门槛了。
    lhx2008
        3
    lhx2008  
       2018-11-06 08:56:20 +08:00 via Android
    @ddup 是 git 复杂,svn 乌龟就几个操作就行了:同步,上传,添加待上传文件,整个文件夹拉取。这个 10 分钟肯定学会了。真要完全傻瓜化,TIM 网盘啥的也凑合啊。
    ddup
        4
    ddup  
    OP
       2018-11-06 08:59:08 +08:00
    @lhx2008 #3 哦,soga,谢谢!怪不得我公司用过 SVN 的同事让他换成 git 他有点那个。
    oott123
        5
    oott123  
       2018-11-06 09:23:28 +08:00 via Android   1
    git 管大文件太不友好了,得 git-lfs。

    其次,git 的多人协作冲突解决仅适用于纯文本。二进制你搞一个试试?
    StevenTong
        6
    StevenTong  
       2018-11-06 09:46:07 +08:00   1
    基于 git 的云笔记会比较好用
    hicdn
        7
    hicdn  
       2018-11-06 09:46:17 +08:00
    Dropbox
    maichael
        8
    maichael  
       2018-11-06 09:53:59 +08:00   3
    网盘最常见的文件类型:二进制文件
    git 最不擅长处理的文件类型:二进制文件
    yumenawei
        9
    yumenawei  
       2018-11-06 10:01:39 +08:00
    同楼上
    良好的多人编辑冲突解决机制,这是目前市面上别的网盘比较缺失的功能
    如果待编辑的是 .docx 格式的怎么办
    WayneLau
        10
    WayneLau  
       2018-11-06 10:06:16 +08:00   1
    目前我自己的一些配置文件或脚本就是用的 gitee 的私有仓库来同步(公司电脑、家里台式和笔记本),问题就是目前没有进一步封装,需要手动同步,但是用起来还是很爽
    NotNil1
        11
    NotNil1  
       2018-11-06 10:06:35 +08:00
    @StevenTong 我也想要基于 git 的云笔记,有 做好的吗?
    ThirdFlame
        12
    ThirdFlame  
       2018-11-06 10:14:46 +08:00
    @ljtletters
    @StevenTong git+vnote 爽歪歪
    Markdown
        13
    Markdown  
       2018-11-06 10:38:26 +08:00
    确定用 Git 存大文件没有问题?
    Lpl
        14
    Lpl  
       2018-11-06 11:25:04 +08:00   1
    NotNil1
        15
    NotNil1  
       2018-11-06 11:44:04 +08:00
    @ThirdFlame 这个 git 要自己集成啊?
    est
        16
    est  
       2018-11-06 11:55:54 +08:00
    你怕是对 git 有什么误解。。
    encro
        17
    encro  
       2018-11-06 12:39:44 +08:00
    nextcloud
    ThirdFlame
        18
    ThirdFlame  
       2018-11-06 14:10:30 +08:00
    @ljtletters
    git add
    git commit
    git push 写个脚本放到定时任务里面,一个小时自动执行一次不就行了。
    valorachen
        19
    valorachen  
       2018-11-06 16:33:53 +08:00 via Android
    @ljtletters gitbook
    ankelo
        20
    ankelo  
       2018-11-06 23:41:26 +08:00   1
    @StevenTong 你这想法好,比网盘更实际,直接可以在 github 实现,而且笔记不用暂用太多空间,用 github 免费服务,感觉也不会对不住他们,毕竟只是文件头跟文本内容。网盘就不一样了,如果放图片github 估计亏大了,会被中国搞垮的,哈哈。
    StevenTong
        21
    StevenTong  
       2018-11-07 22:02:12 +08:00
    我比较想要的是那种 跟有道云笔记客户端类似的体验 但是可以 git 私有托管的 要是有这样的解决方案就好了
    somethin
        22
    somethin  
       2018-11-15 09:23:01 +08:00   1
    @StevenTong https://www.sparkleshare.org/ 了解下, git as a sync tool
    x9sec
        23
    x9sec  
       2018-11-29 16:02:07 +08:00
    这个属于滥用吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2363 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 15:47 PVG 23:47 LAX 08:47 JFK 11:47
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86