GitHubのリモートリポジトリを別のリモートリポジトリに複製する

GitHubのcloneやforkではなくコミット履歴も含めたリポジトリの複製が欲しい時にする作業です。

方法

【コピー元リポジトリ】
old-repository
【コピー先リポジトリ】
new-repository

GitHubで新規リポジトリを作成

GitHubのnewから新しいリポジトリを作成します。

コピー元のベアリポジトリを作成

ターミナル等を開きコピー元のリポジトリをベアクローンします。
ベアとは作業ディレクトリを持たないリポジトリのことを言うそうです。

git clone --bare git@github.com:user/old-repository.git

ベアクローンしたリポジトリを新しいリポジトリにミラープッシュする

先ほどクローンしたコピー元のリポジトリ(old-repository)をGitHubで新しく作成したコピー先のリポジトリ(new-repository)にミラープッシュします。

cd old-repository.git
git push --mirror git@github.com:user/new-repository.git

GitHubを確認

GitHubで新しいリポジトリにファイルが複製されているのが確認できたら先ほどクローンしたベアリポジトリは不要なので削除します。

cd ../
rm -rf old-repository.git

参考

https://docs.github.com/ja/repositories/creating-and-managing-repositories/duplicating-a-repository

コメントを残す

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。