web関連
【git】「error: src refspec main does not match any」の解消方法
新規リポジトリを作成して、リモートリポジトリにpushしようとしたら「error: src refspec main does not match any」というエラーが出たので解決方法の備忘録。
エラーの解消方法
以下のコードを叩き、「ローカルブランチ
」と「リモートリポジトリのブランチ
」が同一かどうか確認。
git branch
異なる場合(例:ローカルがmaster
でリモートがmain
などの場合)は、以下のコマンドでローカルとリモートのブランチを揃える。
git branch -m master main
これで、「error: src refspec main does not match any」は無くなる。
もし、ブランチ作ってしまった場合は、以下のコマンドで削除可能
git branch -d localBranchName
「error: src refspec main does not match any」が起きた原因
原因としては、
git init
をローカルで叩き、デフォルトブランチとしてmaster
ブランチが作成される。- リモートリポジトリ(githubやbitbucket)では
main
ブランチがデフォルトブランチで、main
ブランチが作成される。 - ローカルとリモートでブランチが異なる現象が起きた。
なので、ローカル環境のmaster
ブランチをリモートリポジトリのブランチに合わせてmain
に変更して解決した。