正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

URLでリポジトリからプロジェクトをインポートする

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

Git URLを指定して、既存のリポジトリをインポートできます。この方法では、GitLabイシューとマージリクエストをインポートできません。他の方法では、より完全なインポート方法が提供されます。

リポジトリが大きすぎる場合、インポートがタイムアウトになる可能性があります。

次の方法でGitリポジトリをインポートできます:

前提要件

  • リポジトリのURLからのインポート元を有効にする必要があります。有効になっていない場合は、GitLab管理者に有効にするように依頼してください。GitLab.comでは、リポジトリのURLからのインポート元はデフォルトで有効になっています。
  • インポート先のGitLabグループに対する少なくともメンテナーロールが必要です。
  • プライベートリポジトリをインポートする場合は、パスワードの代わりに、ソースリポジトリへの認証されたアクセスのためのアクセストークンが必要になる場合があります。

UIを使用してプロジェクトをインポートする

  1. 左側のサイドバーの上部で、新規作成 plus )を選択し、新規プロジェクト/リポジトリを選択します。
  2. プロジェクトのインポートを選択します。
  3. リポジトリのURLを選択します。
  4. GitリポジトリのURLを入力します。
  5. 残りのフィールドを入力します。プライベートリポジトリからインポートするには、ユーザー名とパスワード(またはアクセストークン)が必要です。
  6. プロジェクトを作成を選択します。

新しく作成されたプロジェクトが表示されます。

タイムアウトしたプロジェクトのインポート

大規模なリポジトリのインポートは、3時間後にタイムアウトする可能性があります。タイムアウトしたプロジェクトをインポートするには、次のようにします:

  1. リポジトリのクローンを作成します。

    git clone --mirror https://example.com/group/project.git

    --mirrorオプションを指定すると、すべてのブランチ、タグ、およびrefsがコピーされます。

  2. 新しいリモートリポジトリを追加します。

    cd repository.git
    git remote add new-origin https://gitlab.com/group/project.git
  3. すべてを新しいリモートリポジトリにプッシュします。

    git push --mirror new-origin

APIを使用してプロジェクトをインポートする

Projects APIを使用して、Gitリポジトリをインポートできます:

curl --location "https://gitlab.example.com/api/v4/projects/" \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <your-token>' \
--data-raw '{
    "description": "New project description",
    "path": "new_project_path",
    "import_url": "https://username:password@example.com/group/project.git"
}'

一部のプロバイダーではパスワードが許可されておらず、代わりにアクセストークンが必要です。