Push Commits in ein zusätzliches Git-Repository - AWS CodeCommit

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Push Commits in ein zusätzliches Git-Repository

Sie können Ihr lokales Repository so konfigurieren, dass Änderungen mithilfe von Push an zwei Remote-Repositorys übertragen werden. Sie könnten beispielsweise Ihre vorhandene Git-Repository-Lösung weiterhin verwenden, während Sie AWS CodeCommit testen. Folgen Sie diesen grundlegenden Schritten, um Änderungen in Ihrem lokalen Repository in ein separates Git-Repository zu CodeCommit übertragen.

Tipp

Wenn Sie kein Git-Repository haben, können Sie ein leeres in einem anderen Dienst als diesem erstellen CodeCommit und dann Ihr CodeCommit Repository dorthin migrieren. Hierzu führen Sie Schritte aus, die den Anweisungen unter Migration zu CodeCommit weitestgehend entsprechen.

  1. Wechseln Sie über das Befehlszeilen- oder Terminalfenster zu Ihrem lokalen Repository-Verzeichnis und führen Sie den Befehl git remote -v aus. Die Ausgabe sollte folgendermaßen oder ähnlich aussehen:

    Für 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)

    Für 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. Führen Sie den git remote set-url --add --push origin git-repository-name Befehl aus, in dem git-repository-namedie URL und der Name des Git-Repositorys stehen, in dem Sie Ihren Code hosten möchten. Hierdurch wird das Push-Ziel von origin in dieses Git-Repository geändert.

    Anmerkung

    Mit dem Befehl git remote set-url --add --push wird die Standard-URL für Pushes überschrieben, sodass Sie diesen Befehl zweimal ausführen müssen, wie weiter unten erläutert.

    Der folgende Befehl ändert beispielsweise den Push of origin in some-URL/: MyDestinationRepo

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

    Mit diesem Befehl wird kein Inhalt zurückgegeben.

    Tipp

    Wenn Sie einen Push an ein Git-Repository ausführen, für das Anmeldeinformationen erforderlich sind, achten Sie darauf, dass Sie diese in einem Hilfsprogramm für Anmeldeinformationen oder in der Konfiguration der Zeichenfolge some-URL konfigurieren. Andernfalls schlagen Ihre Pushes an dieses Repository fehl.

  3. Führen Sie den Befehl git remote -v erneut aus. Die Befehlsausgabe sollte der folgenden ähneln:

    Für HTTPS:

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

    Für SSH:

    origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push)
  4. Fügen Sie jetzt das CodeCommit Repository hinzu. Führen Sie git remote set-url --add --push origin es erneut aus, diesmal mit der URL und dem Repository-Namen Ihres CodeCommit Repositorys.

    Der folgende Befehl fügt beispielsweise den Push of origin zu https://git-codecommit.us-east-2.amazonaws.com/v1/repos/ hinzuMyDemoRepo:

    Für HTTPS:

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

    Für SSH:

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

    Mit diesem Befehl wird kein Inhalt zurückgegeben.

  5. Führen Sie den Befehl git remote -v erneut aus. Die Befehlsausgabe sollte der folgenden ähneln:

    Für 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)

    Für 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)

    Sie haben jetzt zwei Git-Repositorys als Ziel für Ihre Pushs, aber Ihre Pushs gehen zuerst zu some-URL/. MyDestinationRepo Wenn der Push an dieses Repository fehlschlägt, werden Ihre Commits nicht mithilfe von Push an die Repositorys übertragen.

    Tipp

    Wenn für das andere Repository Anmeldeinformationen erforderlich sind, die Sie manuell eingeben möchten, sollten Sie die Reihenfolge der Pushs so ändern, dass Sie zuerst zu pushen beginnen. CodeCommit Führen Sie den Befehl git remote set-url --delete aus, um das Repository zu löschen, an das Pushes zuerst ausgeführt werden. Führen Sie anschließend den Befehl git remote set-url --add aus, um das Repository erneut hinzuzufügen, sodass es zum zweiten Push-Ziel in der Liste wird.

    Weitere Optionen findest du in deiner Git-Dokumentation.

  6. Um zu überprüfen, ob Sie nun einen Push an beide Remote-Repositorys ausführen, erstellen Sie mit einem Texteditor die folgende Textdatei in Ihrem lokalen Repository:

    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. Führen Sie git add aus, um die Änderung per Stage an Ihr lokales Repository zu übertragen:

    git add bees.txt
  8. Führen Sie git commit aus, um die Änderung per Commit an Ihr lokales Repository zu übertragen:

    git commit -m "Added bees.txt"
  9. Um den Commit vom lokalen Repository mithilfe von Push in Ihre Remote-Repositorys zu übertragen, führen Sie den Befehl git push -u remote-name branch-name aus, wobei remote-name der vom lokalen Repository für die Remote-Repositorys verwendete Name ist und branch-name für den Namen des Branches steht, der in das Repository übertragen werden soll.

    Tipp

    Sie müssen die Option -u nur für die erste Push-Ausführung verwenden. Dann werden die Upstream-Nachverfolgungsdaten festgelegt.

    Beispielsweise wird durch die Ausführung von git push -u origin main deutlich, dass der Push an beide Remote-Repositorys in den erwarteten Branches übertragen wurde. Die Ausgabe entspricht weitgehend der folgenden:

    Für 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

    Für 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

Weitere Optionen findest du in deiner Git-Dokumentation.