AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解"
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
推送遞交至其他 Git 儲存庫
您可以設定本機儲存庫將變更推送到兩個遠端儲存庫。例如,您在試用 AWS CodeCommit時可能需要繼續使用現有的 Git 儲存庫解決方案。請遵循這些基本步驟,將本機儲存庫中的變更推送至 CodeCommit 和個別的 Git 儲存庫。
提示
如果您沒有 Git 儲存庫,您可以在 CodeCommit以外的服務上建立空儲存庫,然後將儲存 CodeCommit 庫遷移至其中。您應該遵循類似於遷移到 CodeCommit中的步驟。
-
從命令提示字元或終端機,切換到您的本機儲存庫目錄並執行 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)
-
執行git remote set-url --add --push origin
git-repository-name
命令,其中git-repository-name
是您要託管程式碼的 Git 儲存庫URL名稱。這會將origin
的推送目的地變更為該 Git 儲存庫。注意
git remote set-url --add --push 會覆寫推送URL的預設值,因此您必須執行此命令兩次,如後續步驟所示。
例如,下列命令會將原始伺服器推送變更為
some-URL
/MyDestinationRepo:git remote set-url --add --push origin
some-URL
/MyDestinationRepo此命令不會傳回任何結果。
提示
如果您要推送到需要憑證的 Git 儲存庫,請務必在憑證協助程式或 組態中設定這些憑證
some-URL
字串。否則,對該儲存庫的推送會失敗。 -
再次執行 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) -
現在請新增 CodeCommit 儲存庫。git remote set-url --add --push origin 再次執行,這次使用儲存庫的 CodeCommit URL和 儲存庫名稱。
例如,下列命令會將原始伺服器推送新增至 https://git-codecommit.us-east-2.amazonawscom/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
此命令不會傳回任何結果。
-
再次執行 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)您現在有兩個 Git 儲存庫作為推送的目的地,但您的推送會前往
some-URL
/MyDestinationRepo 優先。如果推送至該儲存庫失敗,則您的遞交不會推送至任一儲存庫。提示
如果其他儲存庫需要您要手動輸入的憑證,請考慮變更推送的順序,以便 CodeCommit 先推送到 。執行 git remote set-url --delete 來刪除先推送到的儲存庫,然後執行 git remote set-url --add 以再次新增此儲存庫,使之成為清單中的第二個推送目的地。
如需更多選項,請參閱 Git 文件。
-
為了驗證您現在同時推送到這兩個遠端儲存庫,請使用文字編輯器,在本機儲存庫中建立以下文字檔案:
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.
-
執行 git add 將變更暫存在本機儲存庫:
git add bees.txt
-
執行 git commit 來遞交本機儲存庫中的變更:
git commit -m "Added bees.txt"
-
若要將遞交從本機儲存庫推送至遠端儲存庫,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 文件。