在日常开发中,我们经常需要:
- 把 Gitee/GitLab 上的优秀项目搬到自己的 GitHub 二次开发
- 只想要某个特定分支,而不是整个仓库
- 保留完整的提交历史,但又不想页面显示 “forked from xxx”
以下是目前最常用、最优雅的几种方案(按推荐程度排序):
方法一:完整镜像迁移(最推荐,专业做法)
# 1. 在 GitHub 上新建一个完全空的仓库(不要勾选初始化 README/.gitignore/license)
# https://github.com/new
# 2. 镜像克隆原仓库(支持 Gitee、GitHub、GitLab 等任意平台)
git clone --mirror https://gitee.com/原作者/原项目名.git
# 3. 进入目录
cd 原项目名.git
# 4. 修改推送地址为自己的仓库(强烈建议使用 SSH)
git remote set-url --push origin git@github.com:你的用户名/你的仓库名.git
# 5. 一键推送,所有分支、tag、历史全部保留
git push --mirror
方法二:只迁移单个分支(日常最常用)
# 只克隆指定分支(体积最小,只下载这个分支的历史)
git clone --single-branch --branch dev https://gitee.com/原作者/项目名.git
cd 项目名
# 可选:把分支重命名成 main
git branch -M main
# 设置自己的 GitHub 仓库地址
git remote set-url --push origin git@github.com:你的用户名/你的仓库名.git
# 推送
git push -u origin main
方法三:使用 GitHub 官方 Import(会显示 forked from)
适合不在意显示来源的场景:
1、打开 https://github.com/new/import
2、填写原仓库的 git 地址(支持 Gitee/GitLab 等)
3、点击 Begin import
缺点:页面会显示 “forked from xxx”
方法四:下载 ZIP(最简单,但丢失历史)
原仓库页面 → Code → Download ZIP
解压后执行:
git init
git add .
git commit -m "Initial commit"
git remote add origin git@github.com:你的用户名/你的仓库名.git
git branch -M main
git push -u origin main
适合完全不在意 commit 历史的快速上手场景。

1023

被折叠的 条评论
为什么被折叠?



