Skip to main content

ロックされたリポジトリについて

リポジトリは変更を防ぐためにロックできます (多くの場合は移行のため)。

ロックされたリポジトリについて

GitHub 製品との間でリポジトリを移行する場合、移行元および移行先のリポジトリが移行のために "ロック" される可能性があります。 リポジトリがロックされている間は、コミットのプッシュ、issue の作成、pull request のコメントなど、リポジトリを変更することはできません。

移行中にリポジトリがロックされるかどうかは、使用するツールと、移行の実行時に選択するオプションによって異なります。 リポジトリがロックされると、GitHub のリポジトリのページに次のテキストを含むバナーが表示されます。

このリポジトリは現在移行中です。 移行の進行中は、ロックされます。

多くの場合、移行が完了すると、リポジトリは自動的にロック解除されます。 それ以外の場合、リポジトリのロック解除は手動による手順となります。リポジトリのロック解除に必要なプロセスは、使用した移行ツールによって異なります。

GitHub Enterprise Importer によってロックされるリポジトリ

移行の進行中、移行先のリポジトリへのアクセスは GitHub Enterprise Importer によってロックされます。 移行が正常に完了すると、リポジトリのロックは自動的に解除されます。 ただし、移行の失敗など、移行に問題がある場合は、リポジトリがロックされたままになる可能性があります。

GitHub Enterprise Importer では、移行元のリポジトリは既定でロックされません。 移行元のリポジトリは、GitHub CLI で --lock-source-repo オプションを指定するか、startRepositoryMigrationGraphQL ミューテーションで lockSource 属性を指定する場合のみロックされます。

注: 後でロック解除する必要がないという確認がない限り、移行元のリポジトリをロックすることはお勧めしません。 代わりに、リポジトリをアーカイブすることを検討してください。 詳しくは、「リポジトリのアーカイブ」を参照してください。

GitHub Enterprise Importer によってロックされたリポジトリのロックを解除する方法については、「GitHub Enterprise Importer を使用した移行のトラブルシューティング」を参照してください。

"Organization migrations" REST API によってロックされるリポジトリ

"Start an organization migration" エンドポイントを呼び出して、移行元のリポジトリの移行アーカイブを生成すると、リポジトリは既定でロックされません。 リポジトリは、lock_repositories パラメーターを true に設定した場合のみロックされます。

このエンドポイントを使用してリポジトリをロックした場合、"Unlock an organization repository" エンドポイントを使用してリポジトリのロックを解除できます。

リポジトリが GitHub Enterprise Server にある場合、サイト管理者は、サイト管理者ダッシュボードを使用してリポジトリのロックを解除することもできます。 詳しくは、GitHub Enterprise Server ドキュメントの「リポジトリのロック」を参照してください。

ghe-migrator によってロックされるリポジトリ

ghe-migrator を使用する場合、GitHub Enterprise Server 上の移行先のリポジトリは既定でロックされますが、ロック解除は自動的に行われません。

インポートが正常に完了したら、ghe-migrator unlock コマンドを使用してリポジトリのロックを解除できます。 詳しくは、「GitHub エンタープライズServer にデータを移行する」を参照してください。

インポートが失敗した場合、必ずしもすべてのデータが移行されたとは限らないので、データ損失を防ぐために、リポジトリを削除し、移行を再試行することをお勧めします。

リポジトリを使用する必要がある場合、サイト管理者は、サイト管理者ダッシュボードを使用してリポジトリのロックを解除できます。 詳しくは、GitHub Enterprise Server ドキュメントの「リポジトリのロック」を参照してください。

移行元のリポジトリは既定でロックされません。ghe-migrator add コマンドを使用してリポジトリのエクスポートの準備を行うときに --lock 引数を指定した場合のみロックされます。 リポジトリのロックを解除するには、ghe-migrator unlock コマンドを使用します。 詳しくは、「GitHub エンタープライズServer にデータを移行する」を参照してください。

Enterprise Cloud Importer によってロックされるリポジトリ

Enterprise Cloud Importer を使用する場合、移行先のリポジトリはロックされますが、ロック解除は自動的に行われません。

インポートが成功した場合、Enterprise Cloud Importer の [ロック解除] ボタンをクリックしてリポジトリのロックを解除できます。

インポートに失敗した場合、リポジトリのロックを自分で解除することはできません。 移行が失敗した場合、必ずしもすべてのデータが移行されたとは限らないので、データ損失を防ぐために、リポジトリを削除し、移行を再試行することをお勧めします。

リポジトリのロックを解除する必要がある場合は、GitHub サポート ポータル に連絡してください。

startImport GraphQL ミューテーションによってロックされるリポジトリ

startImport GraphQL ミューテーションを使用する場合、移行先のリポジトリはロックされますが、ロック解除は自動的に行われません。

インポートが正常に完了したら、unlockImportedRepositories GraphQL ミューテーションを使用してリポジトリのロックを解除できます。 ドキュメントについては、Expert Services または GitHub パートナー担当者にお問い合わせください。

インポートに失敗した場合、リポジトリのロックを自分で解除することはできません。 移行が失敗した場合、必ずしもすべてのデータが移行されたとは限らないので、データ損失を防ぐために、リポジトリを削除し、移行を再試行することをお勧めします。

リポジトリのロックを解除する必要がある場合は、GitHub サポート ポータル に連絡してください。