はじめに
こんにちは、かずやです。
この記事を読んでいるみなさんは、以下のエラーのせいでGitHubへリポジトリをpushできずお困りかと思います。
$ fatal: remote origin already exists.
本記事ではこのエラーの解決方法を順を追って紹介してまいります。
記事のとおりにコマンドを実行していけば、上記のエラーを解消しGitHubへpushできるはずです。
問題
fatal: remote origin already exists.
と表示されてしまい、リポジトリをGitHubへpushできない
解決策
以下の3ステップでこのエラーを解消できます。
①originを削除する
fatal: remote origin already exists.
は「すでにoriginが存在している」という意味です。
この状態を解消するためにgit remote rm origin
というコマンドを入力してoriginを一度削除してください。
$ git remote rm origin
②再度originを登録する
originを削除できたら再びoriginを登録してみましょう。
git remote add origin https://<GitHubアカウント名>/リポジトリ名/.git
今度はエラーが発生せずにコマンドが実行されるはずです。
③GitHubへpushする
ここまで来ればあとは簡単です。
GitHubへリポジトリをpushしましょう。
git push -u origin master
無事にGitHubへpushできました。
エラーの深掘り
そもそもgit remote add origin ~
は何を実行しているのか、エラーの中身を深掘りしてみます。
結論から申し上げると、git remote add origin ~
は.git/config
ファイルに[remote "origin"]を設定するコマンドだそうです。
実際に見てみましょう。
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[branch "master"]
[remote "heroku"]
url = https://git.heroku.com/secret-river-25498.git
fetch = +refs/heads/*:refs/remotes/heroku/*
[remote "origin"]
url = https://github.com/kazuyainoue0124/toy_app.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
上記のとおり。
すでに[remote "origin"]の設定が存在していたため、fatal: remote origin already exists.
のエラーが発生したんですね。
だからgit remote rm origin
でoriginの設定を削除してエラーを解決できました。
最後に
いかがでしたか?
記事の手順に沿ってコマンドを実行していけばfatal: remote origin already exists.
のエラーを解消し、無事にGitHubへpushできたはずです。
皆様の参考になれば幸いです。