起きたこと
他の人のgitリポジトリからクローンしたものを編集し、自分のリポジトリにpushしようとしたところ、以下のエラーが出ました。
error: src refspec master does not match any
error: failed to push some refs to 'git@github.com:~~~'
原因
以下のコマンドで原因が分かりました。
ターミナル
$ git remote -v
↓
origin git@github.com:クローンしてきたリポジトリ (fetch)
origin git@github.com:クローンしてきたリポジトリ (push)
リモートリポジトリがクローンしたところのままになっていました。
クローンしたままのファイルをそのままpushしようとすると、push先が自分のリポジトリではなく、元々のリポジトリにpushしようとするためエラーが発生します。
解決法1
自分のリポジトリのURLを指定してpushする。
ターミナル
$ git push (自分のリポジトリのURL) main
(2021年1月15日追記) ## 解決法2
新しいリモートURLに変更する。
ターミナル
$ git remote set-url origin https://github.com/変更したいユーザーネーム/リポジトリ名.git
変更できているか確認します。
ターミナル
$ git remote -v
↓
origin https://github.com/変更後のユーザーネーム/リポジトリ名.git (fetch)
origin https://github.com/変更後のユーザーネーム/リポジトリ名.git (push)
これにてgit push -u origin main
でpushできるようになりました。