为何要用迁徙功能:
其实直接上传本地的代码到新的仓库,也能实现保存最新代码的效果;新建各种分支也能和原仓库一致。
关键是要保留代码的提交记录,以便后续的整理和回滚。
GitHub 自带了一个仓库迁徙功能,原理是复制一个仓库,然后用户可以手动清空原仓库
迁徙目标:
- 保留所有代码
- 保留所有分支
- 保留所有分支的提交记录
事前准备:
- 更新远程仓库所有分支的代码到最新版本
- 如果是私密仓库,且要交由另一个不是仓库协作成员的同事来负责迁徙,要将他添加到当前仓库协作成员列表,详情可查看我的另一篇文章
开始迁徙:
1、新建 github 仓库
新建 github 仓库,选择“公开”或者“私密”类型
2、导入原仓库代码
点击底部的“Import code”按钮
会到这个页面
在新标签页打开旧仓库页面,复制地址栏的 URL( 注意不是 Clone or download 按钮的那个地址
),粘贴到上面页面的输入框,点击“Begin import”,会开始自动执行迁徙(或者说复制)操作:
3、弹窗输入
期间,根据原来仓库的安全设置,可能会弹窗要求输入 github 的账号密码:
4、检查新仓库
远程仓库复制完毕,可以直接点击红框处跳转新仓库。
可以随意切换分支,查看 commit 历史。
记得点击”Star“,免得之后找不到它。
5、重新添加仓库的协作人员
6、本地仓库更新远程仓库地址
如果使用 Sourcetree 等客户端,可以在设置里修改;如果使用 GitBash 命令行,可以输入:
git remote set-url origin 仓库地址
完成后,所有分支都会自动对接上远程分支,可以随意 checkout
7、测试是否已切换
本地代码随意修改一下,push 到远程仓库查看效果即可。
8、清空原仓库
新仓库检测无误后,可以清空原仓库