正考虑怎么最方便的在自己开发的本地数据挖掘和全文搜索软件上,加入云协作,反复思量了下,
感觉可以用 git,把自己总结的此方案优缺点发出来,这是个可以实践的思路大家可以试试,如有不当之处大家也可以斧正。
需求比较简单
电脑上的文件可以同步到云端 别人可以在浏览器里查看&下载,也能在同步到硬盘里更好不过了 别人在浏览量里搜索你的分享的文件
这么做的原因
从头开发一个这样的东西周期太长,如果可以基于 git 包装一下,实现此功能,那不是事半功倍吗。
云服务器上自建一个 git server,可以用 gitlab 或者 gitea 等,对外不可直接访问,需要经过外部程序权限检查等,用户注册时,自动给它创建一个 git 账号,然后每分享一个文件夹出去,就创建一个 repo,使用权限控制住这个 repo 只有特定的人能够访问。
基于 Git 构建网盘系统的好处
- 可以保留所有版本历史
- 久经考验,稳定可靠
- 跨平台
- 可以多人编辑
- 良好的多人编辑冲突解决机制,这是目前市面上别的网盘比较缺失的功能?
- 可以方便的分享给别人
- 对于不放心将数据托管出去的,你甚至可以自建一个 git server ?
缺点
- 默认情况下仓库文件较大,因为本地会存储一份副本以及历史记录,不过好在微软的 GVFS 方案解决了这个问题。
- 现有的 Git 客户端工具都是给工程师用的,普通用户使用有一定难度,需要开发简易化的客户端版本
- 网盘是自动提交的,用 git 做网盘,需要考虑一个自动提交机制。
- 你想到欢迎补充。。
我看到有一个现成的
https://github.com/amoblin/gitman
不过只有 MacOS 版,各位还有在其它地方看到基于 Git 做网盘的工具吗?