[Git] リモートブランチや履歴を維持したまま別リポジトリへコピーする方法

背景

既存リポジトリから新規リポジトリへのお引越し案件。リポジトリを複製するようなイメージ。

手順

下記をそれぞれ作成しておくことになる。

  • git@github.com:サンプル/既存リポジトリ.git
  • git@github.com:サンプル/新規リポジトリ.git

SSHだけじゃなくHTTPSでも同じようにコピーは可能。

引越し先のリポジトリを作成

git@github.com:サンプル/新規リポジトリ.gitを作成。

リポジトリのクローンを作成する

$ git clone --bare git@github.com:サンプル/既存リポジトリ.git

ローカル環境に既存リポジトリ.gitが作成される。

新規リポジトリをミラープッシュする

前述で作成された既存リポジトリ.gitへ移動し、引越し先のリポジトリにpushする。

$ cd 既存リポジトリ.git
$ git push --mirror git@github.com:サンプル/新規リポジトリ.git

これで完成。
最後に不要になったrm -rf 既存リポジトリ.gitを削除する。

関連記事

ejsファイルをPrettierでフォーマット実行する際の覚書
[Git] masterへpushしてしまった状態を元に戻す方法
[npm] 公開・更新コマンドの覚え書き
[html-webpack-plugin] テンプレート内でifを使って出力を制御する方法
Photoshopの文字設定をCSSに落とし込む手順とツール
[Git] リポジトリのユーザを変更する方法