エンジニア選考課題でよくあるGitHubのDuplicate(複製)方法

2023/04/16に公開

初めに

エンジニアの選考で、プロダクトを作成する形式のコーディングテストを受ける際に、テスト用の GitHubリポジトリをDuplicate(複製)してください。という事があり、その方法を記述します。
GitHubの公式サイトそのままのやり方で簡単にできるのですが、毎回忘れるので記述。
https://docs.github.com/ja/repositories/creating-and-managing-repositories/duplicating-a-repository

方法

4ステップで終了です。
https://github.com/EXAMPLE-INC/engineer-codecheck.gitというリポジトリをDuplicateするという例で記述しますので、そこは書き換えてください。

1:空のリポジトリを新規作成

自分のGitHubに空のリポジトリを作成します。
(リポジトリの作成方法の説明は省きます。)
RepositoryNameは任意で良いのですが、私は複製元のRepositoryNameをそのまま使っています。
作成したリポジトリはhttps://github.com/EXAMPLE-USER/engineer-codecheck.gitとします。
https://docs.github.com/ja/repositories/creating-and-managing-repositories/creating-a-new-repository

2:リポジトリのベアクローンを作成

ターミナルで下記コマンドを実行し、リポジトリのベアクローンを作成します。

git clone --bare https://github.com/EXAMPLE-INC/engineer-codecheck.git

3:作成した空のリポジトリにミラープッシュ

1の手順で作成した「空のリポジトリ」に、
2の手順で「ベアクローンしたリポジトリ」をミラープッシュします。

#ベアクローンしたリポジトリに移動
cd engineer-codecheck.git
#「空のリポジトリ」に「ベアクローンしたリポジトリ」をミラープッシュ
git push --mirror https://github.com/EXAMPLE-USER/engineer-codecheck.git

4:2の手順でクローンしたリポジトリを削除

2の手順でクローンした元のリポジトリを削除して終了です。

cd ..
rm -rf engineer-codecheck.git

おまけ

GitHubでIssueをコピーできるGitHub Actionsが用意されている場合に、
ワークフローの実行後、Resource not accessible by integration というエラーが出てしまった場合、
Settings→Actions→General内のWorkflow permissionsを「Read and write permissions」に変更するとうまくいくと思います。

終わり

就活、転職頑張りましょう!笑
Twitterでも情報発信しておりますので、ぜひフォローお願い致します!
https://mobile.twitter.com/tatsuki_kt

Discussion