git服务迁移记

场景:

git服务迁移,更换服务地址,保留分支、日志、标签、版本等
前提:

  1. 新建一个空文件夹(作为过渡操作文件夹,为了避免对原项目造成影响)。
  2. 新的git服务器无需初始化git目录

操作

  1. 克隆服务代码至空的文件夹中,
git clone https://github.com/...;(这里的地址为当前的git服务地址)
  1. 克隆完成后,进入项目文件夹,可以查看本地的项目分支,会发现只有一个master分支(目的需要拉去服务中所有分支),例:
git branch
  1. 拉取所有分支命令:
	git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
    git fetch --all
    git pull --all

执行完成后,git branch 会发现所有的分支

  1. 上传到新的git服务器,前提需要添加新的源,当前的源可以使用以下命令查看
git remote 或者git remote -v
  1. 使用以下命令添加新的源,此时可以随便添加一个源名称,事后可以修改源名称,例,添加一个aorigin源,
    这里的后面地址为新的git服务的地址
git remote add aorigin https://github.com/...
  1. 推送所有分支到新的git服务器
git push -u aorigin --all
  1. 移除旧的源,以及修改新源名称
git remote rm origin
git remote rename aorigin origin
  1. 到此新的git服务器的代码已经全部上传完毕,可以删除此临时过渡的项目文件夹
    切换目录到原项目路径下,将原项目的git服务地址更换为新的git服务地址,
git remote set-url origin https://github.com/...(地址为新的git服务地址)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章