👾
DevContainerでgit pushができない
解決手順
1. ssh起動
ssh-agent bash
2. sshが登録されているか確認する
ssh-add -l
ここで、The agent has no identities.
と言われたら登録する必要がある。
3. gitの認証情報をコンテナーと共有する
git config --global user.name "Your Name"
git config --global user.email "your.email@address"
4. ssh キーを生成
ssh-keygen
5. sshキーを登録
ここで、/home/vscode/.ssh/id_rsa
は、sshキー生成のターミナルで出力されたYour identification has been saved in
の横に書かれた部分に置き換える。
ssh-add /home/vscode/.ssh/id_rsa
6. GitHubで登録
GitHubの [Settings] > [SSH and GPG keys] > [New SSH key]からsshキーを登録。
sshキー生成のターミナルで出力されたYour public key has been saved in
の横に記載(今回だと、/home/vscode/.ssh/id_rsa.pub
)のファイルにある値がsshキーである。
sshキー登録画面
7. 登録されているか確認
ssh -T git@github.com
You've successfully authenticated
と返ってきたら成功している。
8. 現在のリモートリポジトリを確認
git remote -v
設定する場合は、以下を実行する。ここで、git@github.com:alexpchin/<reponame>.git
は、SSHであることに注意する。
git remote add origin git@github.com:alexpchin/<reponame>.git
9. 変更を反映する
git add .
git commit -m "test"
git push -u origin main
補足
error: failed to push some refs to
が発生した場合
git fetch
git merge origin/<branch-name>
ここで、fatal: refusing to merge unrelated histories
が発生したら、以下を実行する(mainブランチの場合)。
git merge --allow-unrelated-histories origin/main
参考
Discussion