この記事は、Amazon Connect Advent Calendar 2024の18日目の記事となります。
こんにちは、エンジニアの落合です。
CodeCommitの新規利用が終了してしまってから数ヶ月が経ちましたね。
今回はCodeCommitからGithubへのソース移行をしていきたいと思います。
目次
Githubでリポジトリ作成
ソースコードの移行先のGithubアカウントでリポジトリを作成します。
今回はプライベートリポジトリを作成します。
Githubアカウントにログインし、Rpositoriesタブ→「New」の順にクリックします。
リポジトリ名を入力し、必要な要素を選択してから「Create repository」をクリックします。
次に、ソースコードのpushに必要になパーソナルアクセストークンを作成します。
画面右上の自分のアイコンをクリックし、Settings → Developer settings → Personal access tokens →Tokens(classic)の順にクリックします。
「Generate new token」をクリックします。
Confirm accessの画面に行くので、Authenticatorがあるスマホで読み取ります。
必要な権限を選択し、トークンに適当な名前を付けて「Generate token」をクリックします。
CodeCommitのリポジトリをクローン
AWSコンソールにログインし、CodeCommitのコンソール画面に行きます。
該当のリポジトリを開き、URLのクローン → SSHのクローンの順でクリックすると、SSHでクローンするたえのURLがコピーされます。
ローカルPCでコマンドラインを開き、任意のディレクトリで以下を実行します。
1 |
git clone <ssh-clone-URL> |
Githubのリモートリポジトリにソースを追加
クローンしたルートディレクトリに移動して、Githubのリモートリポジトリにソースコードを追加します。
1 2 |
cd <your-repo-directory> git remote add origin https://github.com/<your-username>/<your-repo>.git |
error: remote origin already exists.が出た場合
上記のようなエラーが出る場合は、GitのoriginがCodeCommitに設定されているため無効化する必要があります。
現在のリモートリポジトリを確認します。
1 |
git remote -v |
originの無効化をします。
1 2 |
git remote remove origin git remote -v |
無効化されていることを確認したら、再度git remote add~を実行します。
GithubにローカルリポジトリをPush
リポジトリをGitHubにpushします。
1 2 |
git branch -M main git push -u origin main |
Pushする際にGitHubの認証が必要になるので、最初に作成したパーソナルアクセストークンを使って認証を行います。
プロンプトが表示されたら、以下のように入力します。
1 2 |
Username: GitHubのユーザー名 Password: 生成したパーソナルアクセストークン |
Githubの認証が通らない場合
私が試したときはGithubの認証が通らないことがありました。
解決策として、VScodeでクローンしたディレクトリに移動してGitとつながっていることを確認してから
VScode内のターミナルでgit push -u origin mainを実行したら認証が通りました。
Githubを確認して、mainブランチにソースコードが反映されていれば完了です。
おわりに
今回はCodeCommitからGithubへのソース移行を行いました。
普段Githubのmainブランチにpushすることはなかなかないので、新しいリポジトリとはいえpushするときに少しドキドキしてしまいました。
CodeCommitのリポジトリももっと触ってみたかったのですが、既に終了してしまっていたので残念です。
ここまでお読みいただきありがとうございました。
- CodeCommitからGithubへのソース移行 - 2024-12-18
- これからエンジニアとして頑張ろうとしている方へ - 2023-12-22