既存の Git リポジトリのクローンをソースリポジトリに作成する - Amazon CodeCatalyst

既存の Git リポジトリのクローンをソースリポジトリに作成する

既存の Git リポジトリを Amazon CodeCatalyst の空のソースリポジトリにクローンできます。これは、以前に別の Git リポジトリプロバイダーでホストされたコードを使用して CodeCatalyst を開始する簡単な方法です。リポジトリの内容をクローンするには、ミラークローンを作成し、ミラーを CodeCatalyst にプッシュします。または、コンテンツが CodeCatalyst に追加されるリポジトリのローカルリポジトリがある場合は、CodeCatalyst ソースリポジトリをローカルリポジトリの別のリモートとして追加し、空のソースリポジトリにプッシュできます。どちらのアプローチも同等に有効です。ミラークローンを使用すると、ブランチをマッピングするだけでなく、すべての参照をマッピングします。これは、CodeCatalyst でリポジトリの作業コピーを作成するシンプルで分かりやすい方法です。空の CodeCatalyst ソースリポジトリを指すローカルリポジトリにリモートを追加すると、リポジトリの内容が CodeCatalyst に追加されますが、ローカルリポジトリから CodeCatalyst ソースリポジトリと元の Git リモートリポジトリの両方にプッシュすることもできます。これは、コードを異なるリモートリポジトリに維持する場合に便利ですが、他のデベロッパーがリモートの 1 つだけにコードをコミットしている場合、矛盾が発生する場合があります。

以下の手順では、基本的な Git コマンドを使用してこのタスクを実行します。Git でタスクを実行するには、クローン作成など、さまざまな方法があります。詳細については、GitHub ドキュメントを参照してください。

重要

コンテンツをクローンする前に、CodeCatalyst に空のリポジトリを作成する必要があります。また、パーソナルアクセストークンも必要です。詳細については、「空のソースリポジトリを作成する」と「パーソナルアクセストークンを作成する」を参照してください。

git clone --mirror を使用して既存の Git リポジトリを CodeCatalyst にクローンする
  1. CodeCatalyst コンソールで、空のリポジトリを作成したプロジェクトに移動します。

  2. プロジェクトの [概要] ページで、リストから空のリポジトリを選択し、[リポジトリを表示] を選択します。または、ナビゲーションペインで [コード] > [ソースリポジトリ] の順に選択します。プロジェクトのソースリポジトリのリストから空のリポジトリの名前を選択します。

  3. 空のリポジトリの HTTPS クローン URL をコピーします。これは、ミラークローンをプッシュするために必要です。例えば、ExampleCorp スペースの MyExampleProject プロジェクトでソースリポジトリ MyExampleRepo に名前を付け、ユーザー名が LiJuan の場合、クローン URL は次のようになります。

    https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
  4. コマンドラインまたはターミナルウィンドウで、git clone --mirror コマンドを使用してCodeCatalyst にクローンする Git リポジトリのミラークローンを作成します。例えば、GitHub の codecatalyst-blueprints リポジトリのミラークローンを作成する場合は、次のコマンドを入力します。

    git clone --mirror https://github.com/aws/codecatalyst-blueprints.git
  5. クローンを作成したディレクトリに変更します。

    cd codecatalyst-blueprints.git
  6. git push コマンドを実行して、送信先 CodeCatalyst リポジトリの URL と名前、および --all オプションを指定します (これは、ステップ 3 でコピーした URL です)。例:

    git push https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo --all
リモートを追加してローカルリポジトリを CodeCatalyst にプッシュする
  1. CodeCatalyst コンソールで、空のリポジトリを作成したプロジェクトに移動します。

  2. プロジェクトの [概要] ページで、リストから空のリポジトリを選択し、[リポジトリを表示] を選択します。または、ナビゲーションペインで [コード] > [ソースリポジトリ] の順に選択します。プロジェクトのソースリポジトリのリストから空のリポジトリの名前を選択します。

  3. 空のリポジトリの HTTPS クローン URL をコピーします。これは、ミラークローンをプッシュするために必要です。例えば、ExampleCorp スペースの MyExampleProject プロジェクトでソースリポジトリ MyExampleRepo に名前を付け、ユーザー名が LiJuan の場合、クローン URL は次のようになります。

    https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo
  4. コマンドラインまたはターミナルウィンドウで、CodeCatalyst にプッシュするローカルリポジトリへのディレクトリを変更します。

  5. git remote -v コマンドを実行して、ローカルリポジトリの既存のリモートを確認します。例えば、米国東部 (オハイオ) リージョンで MyDemoRepo という名前の AWS CodeCommit リポジトリのローカルリポジトリをクローンする場合は、コマンド出力は次のようになります。

    origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

    リポジトリを引き続き使用する場合は、リモート URL をコピーします。

  6. git remote remove コマンドを使用して、CodeCommit リポジトリ URL を削除し、オリジンを取得してプッシュします。

    git remote remove origin
  7. git remote add コマンドを使用して、ローカルリポジトリのフェッチおよびプッシュリモートとして CodeCatalyst ソースリポジトリ URL を追加します。例:

    git remote add origin https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo

    これにより、CodeCommit リポジトリプッシュ URL は CodeCatalyst ソースリポジトリ URL に置き換えられますが、フェッチ URL は変更されません。したがって、git remote -v コマンドを再度実行すると、CodeCommit リモートリポジトリからコードをプル (フェッチ) していることが分かりますが、ローカルリポジトリから CodeCatalyst ソースリポジトリに変更をプッシュする設定になっています。

    origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin https://LiJuan@git.us-west-2.codecatalyst.aws/v1/ExampleCorp/MyExampleProject/MyExampleRepo (push)

    git remote set-url コマンドを使用して両方のリポジトリにプッシュする場合は、オプションで CodeCommit リモート URL を追加できます。

    git remote set-url --add --push origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo
  8. git push コマンドを実行して、ローカルリポジトリを設定済みのすべてのプッシュリモートにプッシュします。または、git push -u -origin コマンドを実行して、--all オプションを指定し、ローカルリポジトリを両方のリポジトリにプッシュします。例:

    git push -u -origin --all
ヒント

Git のバージョンによっては、--all が、ローカルリポジトリのすべてのブランチを空のリポジトリにプッシュするように機能しない場合があります。各ブランチを個別にチェックアウトしてプッシュする必要がある場合があります。