通用后台管理系统 代号:虎鲸
缘由
每次开发后台界面都会有很多相同模块,尝试抽离出公共模块作为快速开发的基座。
目标:实现后台管理系统常用功能模块,基于此项目快速拓展其他产品
原则:简洁-清晰-强大好用
寓意
代号:虎鲸 (像鲸一样承载)
名称:winsax
寓意:wins(双赢)+ a(领先)+ x (拓展)
代码仓库:
github: 国外仓库
gitee(同步更新): 国内仓库
欢迎各位大佬贡献代码~
dev / feature 分支
技术方案
后端 Golang / Rust / Node 提供 restful api 接口
前端 Next.js / 或者后端模板引擎渲染
TodoList
- 当前项目只实现 后台管理界面
- 后续实现标准API接口
解决问题(如题)
本着解决问题,积累经验的原则
愿景很好,如何实现?
问题一
github 访问不稳定,那么如何实现git仓库配置多个仓库并实现代码同步更新托管?
调研发现有两种方式实现:(本文选择的第二种)
第一种:添加多个远程地址,给不同别名,多条命令,分别更新 ⌛️
第二种:添加多个远程地址,一条命令同步更新 👍
方式一
第一步:首先在不同平台(github / gitee / coding
)新建仓库地址
github: 国外仓库
gitee(同步更新): 国内仓库
coding (待实现) : 例如 e.coding.net/winyh/winsa...
第二步:分别添加远程地址
csharp
git remote add origin https://github.com/winyh/winsax.git
git remote add gitee https://gitee.com/winyh/winsax.git
git remote add coding https://xxxxx.git
第三步:执行提交(当前分支 main)
git push <remote_name
> <branch_name
>
perl
git add .
git commit -m 'feat:多仓库地址测试'
git push -u gitee main
或者
git push origin main (输入账号/密码 推送到 github 仓库)
git push gitee main (输入账号/密码 推送到 gitee 仓库)
git push coding main (输入账号/密码 推送到 coding 仓库)
tips:本地仓库 .git/config 文件可查看配置
相关命令
arduino
git remote -v 查看远程仓库地址 (会显示3个远程地址)
git remote remove origin(移除远程仓库)
方式二(推荐)
第一步:删除 gitee 和 coding 别名仓库地址
arduino
git remote remove gitee (远程仓库别名)
git remote remove coding (远程仓库别名)
第二步:查看远程仓库地址并添加其他仓库
git remote set-url --add origin <origin_url
>
csharp
git remote -v 查看远程仓库地址 (会显示1个远程地址)
git remote set-url --add origin https://gitee.com/winyh/winsax.git (gitee平台)
git remote set-url --add origin https://xxxxx.git (coding平台)
第三步:执行提交(当前分支 main)
sql
git add .
git commit -m 'feat:多仓库快速提交'
git push
或者
git push origin -all
问题二
在推送代码时需要输入多次不同平台的密码~ 重复动作或者代码就可以考虑抽象 / 提效了
解决办法:配置SSH公钥,部署到不同的代码托管平台,实现免密登录
SSH 的全称为 Secure Shell 即安全外壳协议,是一种加密的网络传输协议。它能够在公开的网络环境中提供安全的数据传输环境,通常用于登录远程主机与推拉代码。
生成公钥(本文为 mac 环境)
添加本地全局配置(--global / --local / --system)
javascript
git config --global user.name "winyh"
git config --global user.email "your-email@qq.com"
ssh-keygen -t rsa -C "your-email@qq.com" (基于邮箱生成公钥)
cat ~/.ssh/id_rsa.pub (查看公钥串)
生成公钥时,中间会有一个询问过程,全部敲enter键,一般是有3次(询问密钥存放地址 / 输入 / 确认密码)
密码可以考虑给空值, 输入/确认都按 enter 就行
生成公共后会显示密钥存放地址
将公钥串部署添加到不同平台(github / gitee / coding)的 SSH key 配置中(参考coding平台)
id_rsa(私钥),id_rsa.pub(公钥)
校验连通性
在本地运行首次连接时的公钥认证命令:
java
ssh -T git@github.com (github平台)
ssh -T git@gitee.com (gitee平台)
ssh -T git@e.coding.net (coding平台)
ssh-keygen -R xxx.xxx.xxx.xxx` 命令可以删除 known_hosts 文件中这个主机的旧公钥
一般提示如下:
github 平台
gitee 和 coding 平台
这样使用命令 git pull/push 就不用输入密码了,这是因为刚才在生成公钥时,没有输入密码,所以当你选择SSH地址传输时,就可免密码使用命令 git pull/push
至此解决了两个问题:
1.如何实现git仓库配置多个仓库并实现代码同步更新托管? 2.如何实现多仓库平台免密pull / push
?
本文完