GitHubのcloneやforkではなくコミット履歴も含めたリポジトリの複製が欲しい時にする作業です。
Contents
方法
例
【コピー元リポジトリ】
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