【Git】コミット履歴込みでリポジトリの移行を行う。(Git to Git)


メモとして残します。
BitbucketからBacklogに移行する機会があったため、自分用のメモです。
コミット履歴、タグ、ブランチ、全て込み込みで移行します。

■やり方

0.新リポジトリを作成する。

新リポジトリとなるリポジトリを作成する。
注)空の新品のリポジトリであること。

1.旧リポジトリをローカルにミラーでクローンする

git clone --mirror 旧リポジトリURL ./

上記の場合はあらかじめフォルダを作成してそのフォルダ内に移動して
./ でclone --mirrorしたソースを展開しています。

2.リモートURLを新リポジトリに変更する。

git remote set-url --push origin 新リポジトリURL

3.リモートにpush

git push --mirror

■余談

上記の作業後に、Backlog(新リポジトリ)上で確認してみると
一部のコミット履歴が正しく表示されないことがありました。
「失敗したかな?」と思い、TortoiseGitで確認してみたら、backlog上だと見れなかったコミット履歴も問題なく見れたので、backlogのWeb上で閲覧する場合の不具合でしょう。。。