【概要】
gitHubのレポジトリを複製する方法です。
※備忘録代わりになります。
【環境】
・Github
・Git
【背景】
手順の前に標記の背景です。
今回は、作成したdocker環境
を綺麗のまま、検証用として実行し、使い回しできるようにできます。
また、自分の使用したいdocker環境
を他の人に展開して資料として残しておく意味でも使用できますので、ぜひご活用ください。
【追記】
2回目以降で使用する方向けです。詳細は、下記をご参照ください。
mkdir copy_git
cd copy_git
git clone --mirror 複製元github_SSH .git
git remote set-url origin 複製先のGithub_SSH
cd .git
git push --mirror 複製先のGithub_SSH
cd ..
rm -rf copy_git
【手順】
今回複製したい元ファイル
は、以下になります。
1.まずは、複製先のレポジトリ
を作成しましょう。
今回は、new-next.js
とレポジトリ名を命名します。
上記のように内容を打鍵したらスクロールし、create repository
で作成します。
2.次に、複製したい元ファイルの内容を、git clone
で落としてきましょう。
今回は、フォルダを分けて管理します。
mkdir copy_git //フォルダ作成
cd copy_git //フォルダ移動
git clone --mirror git@github.com:iijima-naoya-45b/next.js.git .git
┗<git clone --mirror 複製元レポジトリ .git>
上記の解説です。
cloneする際に、--mirror
オプションを指定することで、完全なリモートリポジトリのコピーが可能です。全てのリモートブランチやリモートタグがローカルにコピーされ、リモートリポジトリの全履歴が保持されます。また、.git
を末尾につけるようにしてください。今回は、.git
の変更履歴のみ複製先のレポジトリで使用します。(逆にその他ファイルは作成されません。)
git remote set-url origin git@github.com:iijima-naoya-45b/new-next.js.git
┗<git remote set-url origin 複製先のレポジトリ>
git remote set-url
については、リモートリポジトリのURLを変更するためのGitコマンドです。ここを、複製先のレポジトリにしましょう。
紐付けを行います。
cd .git
git push --mirror git@github.com:iijima-naoya-45b/new-next.js.git
┗<git push --mirror 複製先のレポジトリ>
上記で複製先のリモートの状態がローカルと一致するようにpushを行います。
5.下記のように新しいレポジトリが作成できれば問題なしです!!
6.最後にゴミを削除しておきましょう
cd ..
rm -rf copy_git
【引用】