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服務地址)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章