如何将私有GitHub仓库复制到新公共仓库并保留分支与提交?
实现仓库完整复制并解除关联的Git命令步骤
1. 创建原仓库的裸克隆(完整保留所有版本历史)
通过裸克隆可以完整复制原私有仓库的所有提交、分支、标签信息:
git clone --bare https://github.com/你的用户名/原私有仓库名.git
2. 将克隆内容推送到新的公共仓库
进入本地的裸克隆目录,把所有内容镜像推送到你在GitHub上创建好的新公共仓库:
cd 原私有仓库名.git git push --mirror https://github.com/你的用户名/新公共仓库名.git
3. 清理本地裸克隆目录(可选操作)
完成推送后,本地的裸克隆目录已无用处,可以删除:
cd .. rm -rf 原私有仓库名.git
4. 克隆新仓库到本地用于后续开发
现在可以把新的公共仓库克隆到本地,开始扩展开发:
git clone https://github.com/你的用户名/新公共仓库名.git
5. 验证新旧仓库无关联
进入新仓库目录,查看远程仓库配置:
git remote -v
输出只会显示新公共仓库的远程地址,说明新旧仓库已完全独立,后续提交只会同步到新仓库。
关于裸克隆的说明
使用--bare克隆+--mirror推送的方式,不仅能完整复刻原仓库的所有版本数据,还会让新旧仓库彻底解除关联——新仓库的任何操作都不会影响到原私有仓库。
内容的提问来源于stack exchange,提问作者benevolentBanana135
相关产品推荐
相关产品推荐

