追加の Git リポジトリにコミットをプッシュする - 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 リポジトリを追加します。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 /first になります。MyDestinationRepo そのリポジトリへのプッシュが失敗すると、コミットはいずれのリポジトリにもプッシュされません。

    ヒント

    他のリポジトリに手動で入力する認証情報が必要な場合は、 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 のドキュメントを参照してください。