前置き
最近、あるリポジトリのソースコードを別リポジトリに移行することがあったので、その手順について紹介します。
※移行したいリポジトリAからリポジトリBへ移動を想定して説明します。
移動先のリポジトリを作成する
※前提として、コピー先のリポジトリの内容は、上書きされてしまうので注意
- リポジトリAをmirrorオプションを使用してclone。
- –mirrorオプションを付けると「.git」ディレクトリのみがコピーされる
$ git clone --mirror <リポジトリAのurl>
.gitディレクトリへ移動
$ cd .git
設定されているリモートリポジトリAのurlを変更します。以下のコマンドを実行してoriginに設定されているURLを変更します。
git remote set-url origin <リポジトリBのurl>
以下のコマンドを実行してコピー先のリポジトリBへpushします。ここでもmirrorオプションを付けることに注意してください。
$ git push --mirror origin
移動が完了したら、ローカルにクローンしたファイルは削除。
まとめ
いかがでしたでしょうか。本記事では、GitHubの既存のリモートリポジトリを引っ越しする方法について紹介しています。頻繁に行うものではないので、やり方を忘れたときの備忘録として記載しています。