有些時候我們需要對git倉庫中的專案進行一些遷移,如從a賬號遷移到b賬號下,從github平臺遷移到內部的gitlab平臺等。一般平臺會自帶 migrate 或者 import 的功能,可以很方便的進行倉庫的遷移。當然,我們也可以自行進行遷移,當需要遷移的專案比較多時,指令碼進行遷移更快捷。
下面來看看如何進行手動遷移,同時在遷移後,保留原專案的分支和tag,以及提交記錄等。
- 先將待遷移的專案 clone 下來
git clone --mirror <url_of_old_repo>
cd <name_of_old_repo>
- 確保新的空倉庫已經建立完成,然後即可將專案推送到新的空倉庫中。
git remote rm origin
git remote add origin <url_of_new_repo>
git push origin --mirror
大功告成,可以看到新的倉庫中,專案的分支和tag,以及提交記錄等,都會保留。