Skip to main content

コマンド ラインを使って外部の Git リポジトリをインポートする

Git リポジトリが、パブリック インターネットからアクセスできないコード ホスティング サービスに格納されている場合は、コマンド ラインで Git を使ってリポジトリをインポートできます。

始める前に、以下をご確認ください:

  • お使いの GitHubユーザ名
  • 外部リポジトリのクローン URL (https://external-host.com/user/repo.gitgit://external-host.com/user/repo.git など) (おそらく、external-host.com ドメイン名の前に user@ が付いています)

デモでは、以下の情報を使用します:

  • extuser という名前の外部アカウント
  • https://external-host.com という名前の外部 Git ホスト
  • ghuser という名前の GitHub 個人アカウント
  • GitHub.com の repo.git という名前のリポジトリ。
  1. GitHub に新しいリポジトリを作成します。 この新しいリポジトリに、外部 Git リポジトリをインポートします。

  2. コマンドラインで、外部クローン URL を使用して、外部リポジトリの "ベア" クローンを作成します。 これはデータの完全なコピーですが、ファイル編集のためのワーキングディレクトリはコピーされず、古いデータすべてのクリーンな新しいエクスポートが作成されます。

    $ git clone --bare https://external-host.com/EXTUSER/REPO.git
    # Makes a bare clone of the external repository in a local directory
    
  3. "mirror" オプションを使用して、ローカルにクローンされたリポジトリを GitHub にプッシュします。インポートされたリポジトリには、ブランチやタグなどすべての参照がコピーされます。

    $ cd REPO.git
    $ git push --mirror https://github.com/USER/REPO.git
    # Pushes the mirror to the new repository on GitHub.com
    
  4. 一時ローカル リポジトリを削除します。

    cd ..
    rm -rf REPO.git
    

インポートするリポジトリに大きなファイルが含まれている場合は、警告またはエラーが発生する可能性があります。 大きなファイルとその管理方法について詳しくは、「GitHub での大きいファイルについて」をご覧ください。

参考資料