git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码

简介: git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码

git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码

问题背景

由于目前优雅草团队整体要走开源路线,加上合计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.git

3,创建自定义推送脚本

为了方便一次性推送代码到所有平台,创建一个自定义的 Bash 脚本。在你的项目根目录下创建一个名为 allpush.sh 的文件

allpush.sh内容为:

#!/bin/bash
# 推送到 GitHub
git push github master
# 推送到 Gitee
git push gitee master
# 推送到 GitCode
git push gitcode master


并且给他权限

chmod +x allpush.sh

4. 使用快捷方式一次性推送

现在,你可以通过运行这个脚本来一次性将代码推送到所有平台:
执行
./allpush.sh

完美解决,优雅草央千澈这里报错gitcode是因为没配置全局账户所以提示输密码结果把密码又输入错了,不过本文是不是让你快速就会了呢!

加油 现在央央要去 做下一件事情。

扩展知识:

sh脚本的执行命令是使用 ./ 前缀

在脚本所在的目录下打开终端

目录
相关文章
|
11月前
|
存储 安全 开发工具
Git安装与配置:操作步骤+Gitee绑定
本文系统介绍了Git从安装配置到远程协作的全流程,涵盖基础概念、常用命令、分支管理、冲突解决及Gitee实战操作,助你高效掌握代码版本控制与团队协作技巧。
1534 155
|
11月前
|
开发工具 git
使用Git根据日期进行代码版本切换的方法
通过以上步骤,可以有效地根据日期进行Git代码版本的切换。这种方法在需要回溯历史版本进行bug修复或功能复查时特别有用。Git的灵活性和强大功能使其成为现代软件开发不可或缺的工具之一。
989 103
|
数据可视化 Java 测试技术
Git Flow 现代实操指南含从代码提交到 CI/CD 全流程的实用技巧与长尾关键词解析 Git Flow
本指南结合现代技术趋势,详解Git Flow工作流,涵盖GitHub Actions自动化、Conventional Commits规范、Gitmoji可视化等内容,助你实现代码到CI/CD的全流程管理,提升团队开发效率与代码质量。
924 2
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
开发工具 git 索引
如何使用Git的暂存区来管理代码更改?
如何使用Git的暂存区来管理代码更改?
1607 0
|
安全 Shell 开发工具
Windows下使用git配置gitee远程仓库
就在前几天因为一些原因,我的电脑重装了系统,然后再重新配置git的环境的时候就遇到了一些小问题。所以我决定自己写一篇文章,以便以后再配置git时,避免一些错误操作,而导致全网搜方法,找对的文章去找对应的解决方法。下面为了演示方便就拿gitee来演示,不拿GitHub了写文章了。
705 0
|
算法 安全 Shell
给Git配置SSH后,妈妈再也不担心我忘记输密码了
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 1. 前言 Git 已经成为我们开发最流行的版本控制工具了,Git 支持多种传输协议,其中最常用的就是https 和 ssh,平常我们用 https 比较多,这种方式 pull 和 push 代码都要输入账户密码,非常不方便。
给Git配置SSH后,妈妈再也不担心我忘记输密码了
|
12月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
2810 15
|
安全 开发工具 git
git的常用操作命令
git的常用操作命令
813 57
|
人工智能 前端开发 Java
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
2853 60