ドキュメントに関する現在のご利用体験についてお聞かせください。アンケートにご協力ください。
Git URLを介して移行する
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
Git URLを使用して、既存のリポジトリをインポートします。この方法で実行されたインポートには、GitLabイシューやマージリクエストは含まれません。
前提条件
- リポジトリのURLインポート元が有効になっています。有効になっていない場合は、GitLab管理者に有効にするように依頼してください。URLによるリポジトリインポート元は、GitLab.comでデフォルトで有効になっています。
- インポート先のターゲットグループにおけるメンテナーまたはオーナーロール。
- プライベートリポジトリをインポートする場合、パスワードの代わりに、ソースリポジトリへの認証アクセス用のアクセストークンが必要になる場合があります。
UIを介してリポジトリをインポートする
UIを介してリポジトリをインポートするには:
- 右上隅で、新規作成( )と新規プロジェクト/リポジトリを選択します。
- プロジェクトをインポートを選択します。
- リポジトリのURLを選択します。
- GitリポジトリのURLを入力します。
- 残りのフィールドを入力します。プライベートリポジトリからのインポートには、ユーザー名とパスワード(またはアクセストークン)が必要です。
- プロジェクトを作成を選択します。
新しく作成されたプロジェクトが表示されます。
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時間後にタイムアウトする可能性があります。タイムアウトしたリポジトリをインポートするには:
リポジトリをクローンします:
git clone --mirror https://example.com/group/project.git--mirrorオプションにより、すべてのブランチ、タグ、およびrefsがコピーされます。新しいリモートリポジトリを追加します:
cd repository.git git remote add new-origin https://gitlab.com/group/project.git新しいリモートリポジトリにすべてをプッシュします:
git push --mirror new-origin