LoginSignup
13
10

レポジトリの複製方法

Last updated at Posted at 2023-11-27

【概要】


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

【手順】


今回複製したい元ファイルは、以下になります。

スクリーンショット 2023-11-28 2.05.43.png

1.まずは、複製先のレポジトリを作成しましょう。
今回は、new-next.jsとレポジトリ名を命名します。

スクリーンショット 2023-11-28 2.36.52.png

上記のように内容を打鍵したらスクロールし、create repositoryで作成します。

2.次に、複製したい元ファイルの内容を、git cloneで落としてきましょう。

スクリーンショット 2023-11-28 2.10.15.png

今回は、フォルダを分けて管理します。

ターミナル
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.下記のように新しいレポジトリが作成できれば問題なしです!!

Image from Gyazo

6.最後にゴミを削除しておきましょう

cd ..
rm -rf copy_git

【引用】


13
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
10