Githubのオープンソースレポジトリを自分のプライベートレポジトリにコピーする

今回は、GitHub 上に公開されている他人のパブリックリポジトリを、自分のアカウントでプライベートリポジトリとして保持する方法を紹介します。

GitHub では、他人のリポジトリをフォーク(Fork)すると、そのままパブリックで公開される仕様になっています。プライベートに切り替えることは基本できないため、以下のいずれかの方法で対応しましょう。

なお、プライベートレポジトリにする場合はApache 2.0ライセンスやMITライセンスなどのオープンソースライセンスであることを確認してから行いましょう。

方法1: GitHub の Import 機能を使う

とりあえずコピーしたいという場合は、Import 機能を使いましょう。

  1. GitHub で Import repository を開く
    • 右上の「+」アイコンから「Import repository」を選択するか、上記リンクを直接開く。
  2. 必要情報を入力する
    • Your old repository’s clone URL: 元のパブリックリポジトリの URL を入力
    • Owner / Repository name: 自分のアカウントと好きなリポジトリ名を設定
    • Privacy: Private を選択
  3. 「Begin import」をクリック
    • しばらく待つと、指定した内容のプライベートリポジトリが作成されます。

メリット

  • ブラウザ上だけで完結するため、非常に簡単
  • 元リポジトリのブランチをすべてコピー可能

デメリット

  • 大規模リポジトリの場合、Import に時間がかかることもある
  • mainブランチ(masterブランチ)だけほしい場合は面倒かも(僕はやり方わからなかった)

方法2: ローカルにクローンしてプライベートリポジトリに Push する

「すべてのブランチを引き継ぎたい」「タグも含めて完全にコピーしたい」という場合は、ローカルで操作したほうが柔軟です。

手順

  1. 元のリポジトリをローカルにクローン
git clone https://github.com/ユーザー名/元リポジトリ名.git


この時点で、元リポジトリの内容が手元にダウンロードされます。

 2. 新規でプライベートリポジトリを作成(GitHub 上)

GitHub で「New」→「New Repository」を選択
リポジトリ名を入力して Private を指定

 3. ローカルでリモートリポジトリの設定を変更してプッシュ

cd 元リポジトリ名
git remote remove origin
git remote add origin https://github.com/自分のユーザー名/プライベートリポジトリ名.git
git push -u origin main

もしローカルのブランチが master なら git push -u origin master に読み替えるか、
git branch -M mainにしてローカルのブランチをmainにしておきます。

メリット

  • mainブランチ(master ブランチ) だけコピーできる
  • ブランチ名を自由に変更しながらプッシュできる

デメリット

  • ローカル環境での作業が必要(Clone → Remote 設定 → Push)
  • Git の操作に慣れていないと若干手順が煩雑

まとめ

  1. Import 機能 … 全ブランチやタグをそっくり残したいならこちら。
  2. ローカルにクローンしてプッシュ … デフォルトブランチだけをプライベートリポジトリに持っていきたいなら最もお手軽。

どちらも数ステップで完了しますが、最終的には「デフォルトブランチだけで十分か」「他のブランチ・タグも欲しいか」で選ぶのがおすすめです。ぜひ参考にしてみてください。

タイトルとURLをコピーしました