追加の Git リポジトリにコミットをプッシュする - AWS CodeCommit

AWS CodeCommit は、新規顧客には利用できなくなりました。 AWS CodeCommit の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

追加の Git リポジトリにコミットをプッシュする

2 つのリモートリポジトリに変更をプッシュするようにローカルリポジトリを設定できます。たとえば、 AWS CodeCommitを試している間、既存の Git リポジトリソリューションを引き続き使用できるようにする場合があります。ローカルリポジトリの変更を CodeCommit と別の Git リポジトリにプッシュするには、以下の基本的なステップに従います。

ヒント

Git リポジトリがない場合は、 以外の CodeCommitサービスで空のリポジトリを作成し、リポジトリをその CodeCommit リポジトリに移行できます。「」に示している同様の手順に従ってくださいCodeCommit に移行する

  1. コマンドプロンプトまたはターミナルから、ローカルの repo ディレクトリに切り替えて、git remote -v コマンドを実行します。次のような出力が表示されます:

    HTTPS の場合:

    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)

    SSH の場合:

    origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)
  2. git-repository-name がコードをホストする Git リポジトリの URLと名前であるgit remote set-url --add --push origin git-repository-nameコマンドを実行します。このコマンドは origin のプッシュ先をその Git リポジトリに変更します。

    注記

    git remote set-url --add --push はプッシュURLのデフォルトを上書きするため、後のステップで示すように、このコマンドを 2 回実行する必要があります。

    たとえば、次のコマンドはオリジンのプッシュを some-URL/ に変更しますMyDestinationRepo。

    git remote set-url --add --push origin some-URL/MyDestinationRepo

    このコマンドは何も返しません。

    ヒント

    認証情報を必要とする Git リポジトリにプッシュする場合は、認証情報ヘルパーまたはsome-URL文字列の設定でこれらの認証情報を設定してください。設定しないと、そのリポジトリへのプッシュは失敗します。

  3. git remote -v コマンドをもう一度実行すると、以下のような出力が生成されます。

    HTTPS の場合:

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

    SSH の場合:

    origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push)
  4. 次に、 CodeCommit リポジトリを追加します。git remote set-url --add --push origin リポジトリの URLおよび リポジトリ名を使用して、もう一度 を実行します CodeCommit。

    たとえば、次のコマンドはオリジンのプッシュを https://git-codecommit.us-east-2.amazonaws に追加します。com/v1/repos/MyDemoRepo

    HTTPS の場合:

    git remote set-url --add --push origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

    SSH の場合:

    git remote set-url --add --push origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

    このコマンドは何も返しません。

  5. git remote -v コマンドをもう一度実行すると、以下のような出力が生成されます。

    HTTPS の場合:

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

    SSH の場合:

    origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push) origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

    これで、プッシュの送信先として 2 つの Git リポジトリができましたが、プッシュは some-URL/MyDestinationRepo first になります。そのリポジトリへのプッシュが失敗すると、コミットはいずれのリポジトリにもプッシュされません。

    ヒント

    他のリポジトリに手動で入力する認証情報が必要な場合は、 CodeCommit 最初に にプッシュするようにプッシュの順序を変更することを検討してください。git remote set-url --delete を実行して、最初にプッシュされるリポジトリを削除してから、git remote set-url --add を実行して、そのリポジトリをもう一度追加し、リストで 2 番目のプッシュ先になるようにします。

    他のオプションについては、Git のドキュメントを参照してください。

  6. この時点で、両方のリモートリポジトリにプッシュしていることを確認するには、テキストエディタを使用して、ローカルリポジトリに以下のテキストファイルを作成します。

    bees.txt ------- Bees are flying insects closely related to wasps and ants, and are known for their role in pollination and for producing honey and beeswax.
  7. git add を実行して、変更をローカルリポジトリにステージングします。

    git add bees.txt
  8. git commit を実行して、変更をローカルリポジトリにコミットします。

    git commit -m "Added bees.txt"
  9. ローカルリポジトリからリモートリポジトリにコミットをプッシュするには、 を実行します。git push -u remote-name branch-nameここで、 remote-name はローカルリポジトリがリモートリポジトリに使用するニックネームで、 branch-nameはリポジトリにプッシュするブランチの名前です。

    ヒント

    -u オプションを使用する必要があるのは、初めてプッシュするときのみです。その後、アップストリーム追跡情報が設定されます。

    たとえば、git push -u origin main を実行すると、想定されるブランチの両方のリモートリポジトリにプッシュが送られ、以下のような出力が表示されます。

    HTTPS の場合:

    Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) To some-URL/MyDestinationRepo a5ba4ed..250f6c3 main -> main Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: To https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo a5ba4ed..250f6c3 main -> main

    SSH の場合:

    Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) To some-URL/MyDestinationRepo a5ba4ed..250f6c3 main -> main Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: To ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo a5ba4ed..250f6c3 main -> main

他のオプションについては、Git のドキュメントを参照してください。