如何将本地多分支GitHub仓库迁移至新远程仓库并取消关联原仓库
解决本地多分支迁移至全新Git仓库的问题
先澄清你的疑问:
本地Git仓库的所有分支、提交记录都存储在仓库根目录的.git隐藏文件夹中,你看到的一套文件只是当前切换分支的工作区内容,其他分支的完整历史和文件状态都在.git里,所以无需移动文件,直接修改远程仓库关联即可。
操作步骤:
在代码托管平台(GitHub/GitLab等)创建全新的空仓库,不要选择fork官方仓库,直接创建空白仓库(建议不要勾选初始化README,避免后续推送冲突)。
打开终端,进入本地仓库目录:
cd Documents/Angular-University/Angular Core Deep Dive/angular-course
- 查看当前远程仓库配置,确认原关联地址:
git remote -v
你会看到origin指向Angular University的官方仓库地址。
- 修改
origin的远程地址为你的新仓库URL:
git remote set-url origin <你的新仓库完整地址>
示例:git remote set-url origin git@github.com:your-username/your-angular-course.git
- 推送所有本地分支到新仓库:
git push --all origin
该命令会将你本地创建的所有分支及提交记录同步到新仓库。
- 若本地有标签,同步标签到新仓库:
git push --tags origin
备选方案(若原远程配置残留问题):
如果修改远程地址后推送异常,可先删除原远程再添加新远程:
git remote remove origin git remote add origin <你的新仓库完整地址> git push --all origin
完成以上操作后,你的本地仓库就完全与新仓库绑定,后续推送不会再关联官方仓库,所有分支的历史也会完整保留。
内容的提问来源于stack exchange,提问作者apex2022
相关产品推荐
相关产品推荐

