代码文件管理系统
客户端:
1、上传
使用git upload 进行上传
2、下载
使用git clone 进行下载
自动加载为未完成但已经保存的存档(?)
3、覆盖(?)
暂定
4、UI
Ftxui
需要tui
登陆界面——需要账密
一键按钮/键盘控制
列出帐号对应的仓库内的项目名 最新版本 上传时间
先选项目 再选版本 保留一版draft
使用者的用户名与密码hash保存,对照密码hash,若hash一致,则进一步登录
5、编写
Cmake
C++
json
6、启用条件
插入u盘
保持后台/当且只当终端访问
服务端
1、一键脚本部署git仓库
wget / 完整的安装包
2、配置
U盘 git仓库
服务器 git仓库
运行逻辑
客户端运行流程:
开机自启/手动启动
使用默认帐号密码加载服务端保存的用户帐号与密码的hash值
–尝试识别有哪些服务端
–默认帐号只能拉取保存了用户帐号与密码的hash值文件的仓库(?单独使用master分支,禁用main分支)
提供账户与密码登录窗口,输入账密
对照hash值,如果没有问题,则进一步将账密补充到git指令中,拉取仓库信息(?单独使用main分支,禁用master分支)
–仓库信息:名称 所属人 最新版本 最新修改时间
–最新版本可与本地仓库版本进行对比,提醒更新项目(?暂定)
选择仓库,显示所有版本
选择版本,进行操作
–操作:克隆、拉取、推送,全部依赖git原生操作
–克隆:在您的计算机上创建远程仓库的本地副本。
–推送:将您的本地提交上传到远程仓库。这里会有两个选项,一个是将打开终端的(若有.git文件夹)的文件夹,另一个是手动粘贴文件夹完整路径。这个操作需要附上日志
–拉取:从远程仓库获取更改并将其合并到您当前的分支中。
操作后返回仓库选择所有版本页面
所有页面可返回上级菜单
服务端运行流程:
返回值包含传递成功与否
磁盘剩余空间,完成操作时间点,完成操作用时
补充更新日志
服务端默认debian/ubuntu,一键环境部署脚本
设置最高管理者,进行仓库权限管理/编辑master分支文件(?)