Git

Gitレポジトリを移行する方法

More than 1 year has passed since last update.

既存のGitレポジトリを、GithubやBitBucketのようなホスティングサーバに移行したり、逆にローカルサーバのGitBucketやGitLabなどに移行したい場合、(乗り換えなど)まあ単純にpushすればいいやんと思ったら、思うような結果にならなかったり、面倒な手順になってしまったりしてしまった。

どうも自分のワーキングのレポジトリから飛ばそうとすると、tagだったりbranchだったりが移行できていないかったりするのです。
ぐぐると、いったんローカルにリモートと同名のブランチ作って(checkoutして)から、push --all, --tags とかしてる奴とかありますがそれは面倒だなぁやだなぁみたいな。
最終的には、これが一番楽な手順かなと思う手順に行きつけたのでここに記す。

$ git clone --mirror <SOURCE_REPOSITORY_URL>
$ cd <REPOSITORY>
$ git push --mirror <DESTINATION_REPOSITORY_URL>

mirrorオプションでcloneしてきて、mirrorオプションでpushする。これぐらいの手間なら許すとしよう。

tanacasinoのメモ - Gitレポジトリを移行する方法