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

Git URLを介して移行する

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

Git URLを使用して、既存のリポジトリをインポートします。この方法で実行されたインポートには、GitLabイシューやマージリクエストは含まれません。

前提条件

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

UIを介してリポジトリをインポートする

UIを介してリポジトリをインポートするには:

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

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

APIを介してリポジトリをインポートする

プロジェクト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"
}'

一部のプロバイダではパスワードを許可せず、代わりにアクセストークンを必要とします。

タイムアウトしたリポジトリをインポートする

大規模なリポジトリのインポートは、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