在实际工作过程中,由于特殊原因,会出现代码库迁移的情况。这种迁移一般都需要对整个代码库做镜像迁移,保留原来的所有 branch,tag,commit log 等信息。
git代码库迁移步骤
- 克隆源 git 仓库到本地,在
clone
的基础上,增加--mirror
参数,该参数会将远程仓库的所有数据(项目成员除外)镜像下来
git clone --mirror ${old_repo}
- 克隆完成后,本地会生成
${old_repo}.git
文件,进入该文件,推送到新仓库
cd ${old_repo}.git
# 需要提前新建好新的代码库
# 默认远程仓库的名字是 origin,为了避免执行过程中的误操作导致源数据的丢失,建议给目标仓库 ${new_repo} 起一个新的名字${origin_name}
# 绑定目标仓库地址到本地仓库
git remote add ${origin_name} ${new_repo}
# 推送本地仓库至目标仓库
git push -f - mirror ${origin_name}
- 至此代码库迁移完成
研发人员本地修改代码库远程地址
代码库迁移完成后,研发人员可以在新的仓库地址上,下载新的代码,也可以在原有的基础上修改远程仓库地址,完成代码库新地址的绑定。
- 参看当前项目的远程仓库地址
git remote -v
# 执行结果:
origin ${old_repo}(push)
origin ${old_repo}(pull)
2.重置项目远程地址
git remote set-url origin ${new_repo}
- 检查当前origin路径
git remote -v
# 执行结果:
origin ${new_repo}(push)
origin ${new_repo}(pull)
- 本地代码库与新远程仓库地址绑定成功
网友评论