问题背景 由于目前优雅草团队整体要走开源路线,加上合计10年来的心血上百款软件都要发布至开源托管平台,因此维护起来会比较麻烦,这个问题也就存在了,由于gitlab最近官方是发布了公告停止对中国用户服务,因此我这里以github,gitee,gitcode三大平台为例子,代码例子以蜻蜓I即时通讯为例子,已经开源了链接就不发了。 扩展消息:
是的,GitLab 将停止对中国区用户提供 GitLab.com 账号服务,这一消息已经得到了多个来源的确认。以下是关于该事件的相关信息: 停止服务的原因 GitLab 在 2021 年与红杉宽带等基金共同成立了极狐信息技术(湖北)有限公司,进军中国市场。当时,GitLab 将技术授权给新公司,是因为考虑到缺乏本地公司,这限制了 DevOps 平台 GitLab 在中国的发展。因此,为了推动 GitLab 完整 DevOps 平台在中国的应用,并促进 GitLab 社区及开源贡献,GitLab 选择了停止对中国区用户直接提供 GitLab.com 账号服务。 对用户的影响 现有用户:被建议迁移到极狐 GitLab(JiHu),这是一家独立公司,提供本地化的 GitLab 产品。用户必须在 2025 年 2 月 18 日之前完成迁移,之后 GitLab 将从系统中删除帐户。
影响范围:包括中国大陆、澳门和香港的的个人和组织。 用户的应对建议 迁移建议:用户被建议尽快访问极狐 GitLab 官网并完成账户迁移。
迁移期限:用户有 60 天的时间完成迁移工作,之后 GitLab 将从系统中删除账户。 问题解决1,配置3个平台的ssh公钥到本地确保已经配置3个平台的ssh, Github这是github,我们登陆个人中心,找到SSH密钥设置 只要做了双因子验证,添加密钥直接点着走,很简单。 打开终端执行 ssh-keygen -t rsa -b 4096 -C "422108995@qq.com" 邮箱换成自己的,执行后有提示敲击三次回车键 执行
cat ~/.ssh/id_rsa.pub
查看ssh公钥内容,直接点击复制
 来粘贴到这里,提交即可,标题就写自己哪里的电脑方便自己识别即可。 以下gitee账户和gitcode账户同理,我这里只简洁写 gitee执行
ssh-keygen -t ed25519 -C "Gitee SSH Key"
生成公钥
执行 cat ~/.ssh/id_ed25519.pub 查看公钥,然后对应粘贴到gitee账户ssh管理处。 gitcode同样执行 ssh-keygen -t ed25519 -C "422108995@qq.com" 查看公钥 注意:gitee官方和gitcode官方给出的生成方法是一样的,因此会遇到文件已经存在的问题,以下内容我需要演示,否则你可能无法成功。 Enter file in which to save the key (/c/Users/Administrator/.ssh/id_ed25519):/c/Users/Administrator/.ssh/id_ed25519 already exists.Overwrite (y/n)?这个问题问需要覆盖吗?答案当然是不建议覆盖的,因此很简单需要这样执行 ssh-keygen -t ed25519 -C "422108995@qq.com" -f ~/.ssh/gitcodekey 
gitcodekey就是自定义的目录,这样的话就不会被覆盖了。那么同理我们查看密钥的指令也有变化, cat ~/.ssh/gitcodekey.pub | clip 原本是cat ~/.ssh/id_ed25519.pub ,我们改变了文件名就应该是cat ~/.ssh/gitcodekey.pub 我们可以看到,很完美。 2,远程仓库到本地项目远程仓库到本地项目,这里首先就是三个平台远程仓库地址添加到本地,我们需要用git remote add分别执行 git remote add gitcode https://gitcode.com/dujiangdu123/qingtingi-uniapp.git git remote add gitee https://gitee.com/youyacao/qingtingi-uniapp.git git remote add github https://github.com/youyacao/qingtingi-uniapp.git3,创建自定义推送脚本为了方便一次性推送代码到所有平台,创建一个自定义的 Bash 脚本。在你的项目根目录下创建一个名为 allpush.sh 的文件 allpush.sh内容为: #!/bin/bash# 推送到 GitHubgit push github master# 推送到 Giteegit push gitee master# 推送到 GitCodegit push gitcode master
并且给他权限chmod +x allpush.sh 4. 使用快捷方式一次性推送现在,你可以通过运行这个脚本来一次性将代码推送到所有平台:
执行
./allpush.sh 完美解决,优雅草央千澈这里报错gitcode是因为没配置全局账户所以提示输密码结果把密码又输入错了,不过本文是不是让你快速就会了呢! 加油 现在央央要去 做下一件事情。 扩展知识:
sh脚本的执行命令是使用 ./ 前缀 在脚本所在的目录下打开终端
|