追加の 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 remote set-url --add --push origin git-repository-name コマンドを実行します。git-repository-name は、コードをホストする Git リポジトリの URLと名前です。このコマンドは 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 リポジトリを追加します。リポジトリの URLおよび リポジトリ名を使用してgit remote set-url --add --push origin、もう一度実行します 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 のドキュメントを参照してください。