GitHub上の既存リポジトリを複製して、新しいリポジトリを作成する方法を説明します。
基本的な内容はこちらの公式ドキュメントに載っているのですが、いくつか不足している箇所がありましたので説明を加えています。
前提
複製元のリポジトリをold_project、複製先のリポジトリをnew_projectとします。
1. 複製先のリポジトリを作成する
Githubの管理画面から複製先のリポジトリを事前に作成しておきます。
2. 複製元のベアリポジトリをクローンする
複製元のベアリポジトリをクローンします。
git clone --bare git@github.com:exampleuser/old_project.git
ベアリポジトリとはGitHubの更新情報のみを持つリポジトリのことを指します。
詳細が気になる方はこちらのQiitaを参照すると良いでしょう。 普段使用することは滅多にありませんので、おまじないのようなものだと割り切ってしまっても良いと思います。
3. 新しいリポジトリをミラープッシュする
複製元のベアリポジトリの更新内容を複製先のリポジトリにミラープッシュします。
cd old_project.git git push --mirror git@github.com:exampleuser/new_project.git
--mirrorはベアリポジトリをプッシュする際に使用するオプションです。
4. 複製元のベアリポジトリのディレクトリを削除する
先程クローンした複製元のディレクトリは今後使用しませんので削除しておきます。
cd .. rm -rf old_project.git
5. 複製先のリポジトリをクローンする
複製先のリポジトリを改めてクローンします。 これで複製は完了です。
git clone --bare git@github.com:exampleuser/new_project cd new_project