星期日, 12月 24, 2023

git repository搬家

若有需要將整個 repository 從 A 搬到 B ,單純的 git clone 跟 git push 是不夠的,因為還有 branches, tags 等等的。

所以得這樣作。

首先在目的端,例如 github/gitlab ,建立一個空的 repository。

接著要處理來源端的 repository,在 clone 時加上 --mirror

git clone --mirror git@example.com:repo1.git

git clone 完成會有一個 repo1 的資料夾,進入 repo1 的資料夾,執行以下指令把所有 branches, tags 資訊都拉取回來,然後加入新的遠端,並進行推送

git fetch --all
git remote add target git@<新的repository>
git push target --mirror

這樣就大功告成了。

參考資料

沒有留言: