新しくリモートリポジトリを追加するために投入したgit remote add でerror: remote origin already exists. の解決方法 についてまとめました。
Adding a remote repository で紹介されているページの解説になります。
- 新しくリモートリポジトリを追加するには、git remote addが必要です(以下、原文)
- To add a new remote, use the git remote add command on the terminal, in the directory your repository is stored at.
error: remote origin already exists. のエラーログ
1
2
3
user@user MINGW64 ~/docker_xxx (main)
$ git remote add origin git@github.com:hoge/docker_xxx.git
error: remote origin already exists.
Line#3 のとおり、error: remote origin already exists. で怒られました。(#^ω^)
解決方法
Removing a remote repositoryのとおり以下の2ステップです。
STEP1. git remote rm origin を投入
STEP2. 再度、git remote add originを投入
1
2
3
4
5
user@user MINGW64 ~/docker_xxx (main)
$ git remote rm origin
user@user MINGW64 ~/docker_xxx (main)
$ git remote add origin git@github.com:hoge/docker_xxx.git
git push origin main でリモートに追加
無事にGitHubへpushできました。
1
2
3
4
5
6
7
8
9
10
11
12
13
user@user MINGW64 ~/docker_xxx (main)
$ git push origin main
Enumerating objects: 592, done.
Counting objects: 100% (592/592), done.
Delta compression using up to 8 threads
Compressing objects: 100% (549/549), done.
Writing objects: 100% (592/592), 16.12 MiB | 674.00 KiB/s, done.
Total 592 (delta 313), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (313/313), done.
To github.com:hoge/docker_xxx.git
* [new branch] main -> main
user@user MINGW64 ~/docker_xxx (main)
.git/config について
- git remote add origin ~は.git/configファイルに[remote "origin"]を設定するコマンドです。従って、これを一旦、削除すれば追加(add)できます。
- git remote rm はサーバーからリモート リポジトリを削除しません。リモートとその参照をローカル リポジトリから削除するだけです。
.git/config の中身を見る
1
2
3
4
5
6
7
8
9
10
11
12
user@user MINGW64 ~/docker_xxx (main)
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = git@github.com:hoge/docker_xxx.git
fetch = +refs/heads/*:refs/remotes/origin/*