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.
-
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)
-
Führen Sie den git remote set-url --add --push origin
git-repository-name
Befehl aus, in demgit-repository-name
die URL und der Name des Git-Repositorys stehen, in dem Sie Ihren Code hosten möchten. Hierdurch wird das Push-Ziel vonorigin
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/:
MyDestinationRepogit remote set-url --add --push origin
some-URL
/MyDestinationRepoMit 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. -
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) -
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.
-
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.
-
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.
-
Führen Sie git add aus, um die Änderung per Stage an Ihr lokales Repository zu übertragen:
git add bees.txt
-
Führen Sie git commit aus, um die Änderung per Commit an Ihr lokales Repository zu übertragen:
git commit -m "Added bees.txt"
-
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, wobeiremote-name
der vom lokalen Repository für die Remote-Repositorys verwendete Name ist undbranch-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 -> mainFü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.