LoginSignup
9
2

More than 1 year has passed since last update.

GitHubへのプッシュ時にfatal: remote origin already exists.と表示された場合の解決策

Posted at

はじめに

こんにちは、かずやです。

この記事を読んでいるみなさんは、以下のエラーのせいで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できたはずです。

皆様の参考になれば幸いです。

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2