Gitee迁移GitHub开源全攻略:一键配置自动同步,仅需维护单一仓库

Gitee迁移GitHub开源全攻略:一键配置自动同步,仅需维护单一仓库

多数国内开发者习惯使用Gitee托管代码,兼顾访问速度与协作便捷性。当项目需要面向全球开源、接入开源社区时,GitHub是更适配的平台。但手动在两个平台重复提交、同步分支,不仅增加开发成本,还容易出现提交历史不一致、分支冲突、版本遗漏等问题。

本文针对从Gitee迁移项目至GitHub开源、仅提交一端即可实现双平台自动同步的核心需求,提供完整迁移流程、三种自动化同步方案,以及可直接复制的命令与配置清单,一次配置永久生效,彻底告别手动同步。

一、前期准备:基础环境与权限配置

开始迁移与同步前,先完成基础配置,避免权限报错、推送失败等问题,所有命令可直接复制执行。

  1. 前置检查
    • 清理项目中敏感信息(密钥、密码、内网配置、测试凭证)
    • 确认Gitee仓库拥有所有者/管理员权限
    • GitHub完成邮箱验证,新建仓库权限正常

配置SSH密钥(双平台通用,无密码推送)

# 生成SSH密钥(一路回车,无需设置密码) ssh-keygen -t ed25519 -C "你的注册邮箱"# 查看公钥内容,复制后添加到Gitee和GitHub的SSH密钥设置中cat ~/.ssh/id_ed25519.pub 

检查并配置本地Git环境

# 查看Git版本,确认已安装Gitgit --version # 配置全局用户名与邮箱(与Gitee/GitHub账号保持一致)git config --global user.name "你的用户名"git config --global user.email "你的注册邮箱"

二、Gitee项目迁移至GitHub:保留完整提交历史

迁移核心是全量同步代码、分支、提交历史,推荐本地克隆推送方式,稳定性最高。

方法1:本地克隆+双远程推送(推荐)

  1. 登录GitHub,新建空白仓库(不勾选README、LICENSE、.gitignore)

全量推送代码、分支、标签至GitHub

# 推送所有分支git push github --all # 推送所有标签git push github --tags 

推送完成后,刷新GitHub仓库页面,即可看到与Gitee完全一致的代码与提交历史。

为本地仓库添加GitHub远程地址

# 添加GitHub远程源,命名为githubgit remote add github [email protected]:用户名/仓库名.git # 查看远程地址,确认gitee与github均已绑定git remote -v 

克隆Gitee仓库到本地

git clone [email protected]:用户名/仓库名.git cd 仓库名 

方法2:GitHub快速导入(无本地环境)

  1. 进入GitHub首页,点击「New repository」→「Import repository」
  2. 填入Gitee仓库克隆地址,设置仓库名称与公开权限
  3. 等待自动导入完成,适合临时快速迁移

三、自动同步方案:仅提交一端,双平台实时同步

以下三种方案覆盖个人开发、团队协作场景,均实现一次提交,自动同步,按需选择即可。

方案A:本地Git多远程推送(极简配置,个人首选)

原理:本地仓库同时绑定Gitee与GitHub,一次推送同步双平台,无需云端工具,零依赖。

后续使用(全程仅需常规Git命令)

# 常规提交gitadd.git commit -m "提交说明"# 一次推送,同步Gitee+GitHubgit push origin 分支名 

验证配置是否生效

git remote -v # 输出中origin会同时显示gitee和github两个推送地址

为默认远程 origin 添加GitHub推送地址

git remote set-url --add origin [email protected]:用户名/仓库名.git 

方案B:GitHub Actions自动同步(以Gitee为核心仓库)

适合固定向Gitee提交、GitHub自动更新的场景,依托GitHub原生工作流实现云端自动化。

  1. Gitee生成私人令牌:进入Gitee「设置」→「安全设置」→「私人令牌」,勾选 repo 权限,生成并复制令牌。
  2. GitHub添加密钥:进入GitHub仓库「Settings」→「Secrets and variables」→「Actions」→ 「New repository secret」,名称填写 GITEE_TOKEN,值粘贴Gitee令牌。
  3. 提交配置文件,后续向Gitee推送代码,GitHub会自动同步。

新建同步工作流:在GitHub仓库创建文件 .github/workflows/sync-to-gitee.yml,复制以下配置:

name: Sync Gitee to GitHub on:push:branches:[ main, master,'*']workflow_dispatch:jobs:sync:runs-on: ubuntu-latest steps:-name: Sync Repository uses: wearerequired/git-mirror-action@v1 with:source-repo: [email protected]:用户名/仓库名.git destination-repo: [email protected]:用户名/仓库名.git 

方案C:Gitee原生仓库镜像(平台级同步,无需配置)

Gitee自带镜像功能,无需本地/云端配置,平台级自动同步,稳定性最高。

  1. 进入Gitee仓库「管理」→「仓库镜像管理」→「添加镜像」
  2. 镜像方向选择「Push(同步到外部仓库)」
  3. 填入GitHub仓库地址,绑定GitHub令牌
  4. 启用镜像,后续Gitee提交自动同步至GitHub

四、核心速查清单:一键复制,直接使用

  1. GitHub Actions配置速查
    直接复制上述 sync-to-gitee.yml 完整内容,修改用户名与仓库名即可使用。

迁移与多远程配置速查

# 克隆Gitee仓库git clone [email protected]:用户名/仓库名.git cd 仓库名 # 添加GitHub远程git remote add github [email protected]:用户名/仓库名.git # 全量推送git push github --all &&git push github --tags # 配置双远程推送git remote set-url --add origin [email protected]:用户名/仓库名.git # 常规同步提交gitadd.&&git commit -m "更新内容"&&git push origin 

Git基础配置速查

# Git全局配置git config --global user.name "你的用户名"git config --global user.email "你的邮箱"# 生成SSH密钥 ssh-keygen -t ed25519 -C "你的邮箱"cat ~/.ssh/id_ed25519.pub 

五、常见问题与避坑指南

  1. 推送权限失败:检查SSH密钥是否添加双平台、令牌权限是否完整,优先使用SSH地址而非HTTPS。
  2. 分支同步不全:必须使用 --all--tags 参数,确保全量分支与标签同步。
  3. 代码冲突:同步前先拉取远程最新代码,保持本地与源仓库一致。
  4. 自动化同步失败:检查GitHub密钥配置、YAML文件缩进、Gitee令牌是否过期。
  5. 开源合规:迁移后添加LICENSE、完善README,避免敏感信息泄露。

六、方案选型建议

  • 个人独立开发:选择方案A,本地一次配置,无依赖、操作最简单。
  • 团队协作:选择方案B或方案C,统一提交入口,避免成员本地配置不一致。
  • 长期维护:定期检查双平台同步状态,保持分支、版本、文档一致。

七、总结

从Gitee迁移至GitHub开源,核心是一次迁移、永久自动同步,无需重复提交与手动维护。本文提供的三种方案覆盖不同使用场景,配合可直接复制的命令与配置清单,可快速实现仅提交一端,双平台自动同步的目标,彻底解决多平台代码托管的繁琐问题。

如果在配置过程中遇到权限、同步、冲突等问题,欢迎留言交流;也可分享你的同步实践,共同完善多平台代码托管的最佳方案。

Read more

3步解决SubtitleEdit Purfview Faster Whisper XXL引擎安装失败

3步解决SubtitleEdit Purfview Faster Whisper XXL引擎安装失败 【免费下载链接】subtitleeditthe subtitle editor :) 项目地址: https://gitcode.com/gh_mirrors/su/subtitleedit 问题定位:字幕工作流的突然中断 案例场景:影视翻译工作室的王工在处理纪录片字幕时,触发"语音转文字"功能后系统持续报错,提示"Purfview Faster Whisper XXL引擎未安装"。检查发现自动安装程序卡在7z解压阶段,导致整个字幕翻译工作流中断超过2小时。这种故障常发生在首次使用语音识别功能或引擎更新后,典型表现为:进度条停滞在40%-60%区间、临时文件夹出现不完整的whisper文件夹、日志显示"CRC校验失败"等解压错误。 ⚠️ 核心故障点: * 引擎安装路径权限不足(Linux系统常见于/usr/

By Ne0inhk
Stable Diffusion 秋叶大神2025最新整合一键安装包

Stable Diffusion 秋叶大神2025最新整合一键安装包

这段时间我在折腾 Stable Diffusion,期间试过很多安装方式。有手动安装的,也有别人做好的整合包。手动安装的方式对环境要求高,步骤也多,系统要装 Python,要装依赖,还要配好运行库,哪一步出错都要重新查资料,挺消耗时间。后来了解到秋叶大神做的整合一键安装包,这个版本省掉了很多折腾,对新手比较友好。 我自己把安装流程整理了一遍,又结合网上的信息,把一些需要注意的地方写下来,希望能帮到想尝试 Stable Diffusion 的人。 这里完整下载链接 秋叶整合包是什么 这个整合包属于别人已经帮你配好的版本,里面把 Stable Diffusion WebUI、模型管理、插件、运行环境都准备好了。下载之后按照提示解压,点一下启动脚本就能跑起来,不需要另外去折腾环境。 整合包里放的 WebUI 是常见的 AUTOMATIC1111 版本,所以大部分教程都能直接用。适合想直接出图、想先体验一下模型效果的人。 系统环境方面 我现在用的是 Windows 电脑,所以下面写的内容主要基于

By Ne0inhk

实战配置CLAUDE.md:彻底禁止 AI 自动添加 Git Commit 签名并规范提交格式

实战配置CLAUDE.md:彻底禁止 AI 自动添加 Git Commit 签名并规范提交格式 前言:为什么要给 AI 立规矩? 在日常开发中,我经常使用 Claude 来辅助编写代码和生成 Git 提交信息(Commit Message)。通常情况下,它的表现非常出色,但有一个令我头疼的小毛病:它太“礼貌”了。 经常出现的情况是,当我要求它写一个 commit 时,它会在末尾画蛇添足地加上 Co-authored-by: Claude 或者 Signed-off-by: AI Assistant,甚至会在输出前加一句“Here is your commit message:”。这导致我每次复制粘贴时,还得手动删除这些多余的元数据和废话,非常影响效率。 这篇文章将分享如何在项目根目录(或家目录下全局)配置 CLAUDE.

By Ne0inhk

VS Code中使用Git管理代码

以下内容由AI生成,亲测可用(除了最后的GitHub)。 可以把 Git 理解为一个 “超级后悔药” 或者 “时光机”。 为什么要用它? 你肯定有过这种经历:把代码文件名改成 code_v1.py, code_v2_final.py, code_v3_really_final.py… 最后自己都乱了。或者,你改了几行代码想优化算法,结果跑崩了,想改回去却忘了原来长什么样。 Git 就是为了解决这个问题。它能记录你每一次的修改,让你随时回退到过去的任何一个状态。 结合你的 WSL + VS Code 环境,我教你一套最直观、最少命令的“图形化”操作流程。 第一阶段:初次见面(配置身份) 在使用时光机之前,你得先告诉系统“是谁在使用它”,这样以后的记录才会显示是“你”

By Ne0inhk