CodeCommitにある別リポジトリにPushしたい

2023.07.01

データアナリティクス事業本部の荒木です。

社内開発案件のバックエンド開発でコードをGitでソース管理していますが、AWS環境にデプロイする際にCodeCommitのリポジトリにPushする必要があり、ちょっと手間取ったので一連の流れでまとめておこうと思います。

環境

  • Windows
  • WSL2(Ubuntu 20.04.4 LTS)

本題

事前作業

認証情報の取得

AWS CodeCommitのGit 認証情報を作成する必要があります。

Git 認証情報はAWSマネジメントコンソールにログインし、IAM > ユーザー で自分のユーザを検索し、セキュリティ認証情報タブを選択します。
SSH接続であれば「AWS CodeCommit の SSH 公開キー」、HTTPS接続は「AWS CodeCommit の HTTPS Git 認証情報」で認証情報を作成します。
(今回自分はHTTPSで接続したのでHTTPS接続での手順となります。)
HTTPSの認証情報を作成するとCSVファイルで認証情報をダウンロードできますので保管しておきます。

リポジトリへのPush

今回は普段BacklogのGitで管理しているコードをデプロイするためにCodeCommitのリポジトリへのPushが目的になります。
そのためには、普段作業しているローカルリポジトリのリモート先をBacklogのリモートリポジトリからCodeCommitのリポジトリに変更する必要があります。
(それだけです。)

まずは自分のローカルリポジトリのリモート先を以下コマンドで確認します。

$git remote -v

origin  https://xxxxxxxxxx.git (fetch)
origin  https://xxxxxxxxxx.git (push)

ここで表示される`https://xxxxxxxxxx.git`が今設定されているリモートリポジトリのURLになります。(最後設定を戻すときに必要なのでコピペしておきましょう)

確認出来たら、今設定されているリモートリポジトリをCodeCommitのリポジトリのURLに変更します。(HTTPSのURLを使います)

$git remote set-url origin https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/xxxxxxxx

再度設定を確認するとURLが変わっているかと思います。

$git remote -v

origin  https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/xxxxxxxx (fetch)
origin  https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/xxxxxxxx (push)

後は普段と同じようにPushするだけです。
認証情報の入力が必要になりますので、事前準備で作成した「AWS CodeCommit の HTTPS Git 認証情報」を入力します。

以上でCodeCommitのリポジトリへのPushは完了です。
Pushした後は、忘れないように元のリモートリポジトリにURLに変更しておきましょう。

まとめ

以上がリモートリポジトリを変更して別のリポジトリにPushする方法になります。

Git初心者の方はよく使う用語やコマンドについて簡単にまとめた記事もありますのでそちらも参考にしていただければと思います。

参照

AWS CodeCommit