gitでデータアップロードする際にひっかかった事と解決策一覧。
英語で返ってくるので一見難しいこと言われてる気がしてくるけど、翻訳すると結構親切な文で返してくれてるなという印象。
でも忘れた頃にやると、結構混乱するので自分用メモです。
参考にさせていただいた記事やページは本文下部に記載しております。
①This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])?
git push -u origin masterコマンドを打った際にでる。
解決策
yesと入力するだけ。
- ざっくりした文の内容
「この公開鍵は初見だけど本当にアップロード続けて大丈夫?」 - 初回アップロード時に発生。(OS変更したときなど)
- 自分的ひっかかりポイント…yes/noで聞かれてるのに脳死エンターしていた
②error: src refspec masuter does not match any
こちらもgit push -u origin masuterコマンドを打った際に出る。
解決策①そもそもローカルリポジトリ内にプッシュするデータがない場合
#インデックスに登録し、ローカルリポジトリにデータを反映
git add .
git commit 'first commit'
解決策②ブランチ名の不一致が原因の場合
git push origin main
解決策②についてはこちらの記事を参照
https://deepblue-ts.co.jp/git/git-push-error/
③Nothing specified, nothing added.
hint: Maybe you wanted to say 'git add .'?
hint: Turn this message off by running
hint: "git config advice.addEmptyPathspec false"
git add と打った際にでた。
解決策 ヒントをちゃんと見る。「git add .」と入力
# 以下はNG
git add
# 正しくはこっち
git add .
- ざっくりした文の内容
「何も追加されてないよ。もしかして 'git add .'がやりたかった?それだったら実行してみてね」 - 自分的ひっかかりポイント…最後の「.」忘れの凡ミス
④error: failed to push some refs to "URL"
リモートにアップ後、SQL文のドキュメントファイル入れるのを忘れていたことに気づきデータ更新しようとした際に発生。
原因としては、GitHub上でREADMEを更新していた為ローカルからの上書きができない状態だった。
解決策2案
# ①強制的にpushする場合(個人開発時の他人に影響でない時はこれでもよい)
git push --force
# ②リモートのデータ(READMEが入ってる最新版)をローカルに反映させてから、再push
git pull origin develop
個人開発時は案①、チーム開発時は案②で対応するのが良いとのこと。
横着せず基本案②で行うのが安全そうです。
- ざっくりした文の内容
「リモートリポジトリが最新だからpushできるものないよ」
参考記事