View a markdown version of this page

Pushe 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.

Pushe 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. Folge diesen grundlegenden Schritten, um Änderungen in deinem lokalen Repo in ein separates CodeCommit Git-Repository zu übertragen.

Tipp

Wenn Sie kein Git-Repository haben, können Sie ein leeres auf einem anderen Dienst erstellen CodeCommit und dann Ihr CodeCommit Repository dorthin migrieren. Hierzu führen Sie Schritte aus, die den Anweisungen unter Migrieren Sie 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 mit der URL und dem Namen des Git-Repositorys aus, in dem Sie Ihren Code hosten möchten. git-repository-name 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.

    Zum Beispiel ändert der folgende Befehl den Push von Origin insome-URL/MyDestinationRepo:

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

    Mit diesem Befehl wird kein Inhalt zurückgegeben.

    Tipp

    Wenn du einen Push zu einem Git-Repository durchführst, für das Anmeldeinformationen erforderlich sind, stelle sicher, dass du diese Anmeldeinformationen in einem Credential-Helper oder in der Konfiguration der some-URL Zeichenfolge konfigurierst. 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 nun das CodeCommit Repository hinzu. Führen Sie den Befehl git remote set-url --add --push origin erneut aus, dieses Mal mit der URL und dem Namen Ihres CodeCommit-Repositorys.

    Beispielsweise wird mit dem folgenden Befehl der Push von origin zu https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo hinzugefügt:

    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 Pushes, aber Ihre Pushes gehen some-URL zuerst nach/. 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 erwägen, die Reihenfolge der Pushes so zu ändern, dass Sie an die erste Stelle pushen. 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 Repo in deine Remote-Repositorys zu übertragen, führe git push -u remote-name branch-name where remote-name ist der Spitzname aus, den das lokale Repo für die Remote-Repositorys verwendet, und branch-name ist der Name des Branches, 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.