GitHub报错:"fatal:远程仓库已存在"

642

我想跟随Michael Hartl的Rails教程,但遇到了一个错误。

我在GitHub注册了账户,生成了一个新的SSH密钥,并创建了一个新的代码库。但当我在终端中输入下一行命令时,出现了以下错误:

Parkers-MacBook-Pro:.ssh ppreyer$ git remote add origin git@github.com:ppreyer/first_app.git
fatal: remote origin already exists.

想知道是否有其他人遇到过这个问题?


1
如果你还没有创建git仓库,请查看.git/config文件,看看是否尚未声明origin。 - Denys Séguret
30
我曾遇到同样的问题,使用命令 "git remote rm origin" 删除原始远程仓库,然后使用命令 "git remote add origin URL" 添加新的远程仓库地址。 - Akhzar Nazir
@AkhzarNazir 请将此作为答案添加。这对我有用。 - Pamela Sillah
我移除了我的双重认证,然后它对我起作用了。 - Suraj
26个回答

9

该错误消息表明您的git目录中已经存在一个远程存储库。 如果您满意该远程存储库,则可以推送您的代码。否则,如果无法推送,请执行以下操作:

git remote remove origin
git remote add origin git@github.com:ppreyer/first_app.git

这就是了!


6

如果您已经将项目添加到其他存储库中,比如您先上传到GitHub再上传到Bitbucket,则会出现此类错误。

如何删除错误:删除项目中的git-hub文件,然后重复以下步骤...

git init       
git remote add origin git@bitbucket.org:Yourname/firstdemotry.git  
git add -A  
git commit -m 'Message'  
git push -u origin master  

6
  • $ git remote add origin git@gitlab.com:abc/backend/abc.git

    在这个命令中,origin不是命令的一部分,它只是你的远程仓库的名称。你可以使用任何你想要的名称。

    • 首先,你可以使用以下命令检查它包含了什么内容

    $ git remote -v

    它会给出以下结果 origin git@gitlab.com:abc/backend/abc.git (fetch) origin git@gitlab.com:abc/backend/abc.git (push) origin1 git@gitlab.com:abc/backend/abc.git (fetch) origin1 git@gitlab.com:abc/backend/abc.git (push)

    如果它包含了你的远程仓库路径,则可以直接推送到该仓库而无需再次添加origin

    • 如果它不包含你的远程仓库路径

    那么你可以使用不同的名称添加新的origin并使用它进行推送,如下所示 $ git remote add origin101 git@gitlab.com:abc/backend/abc.git

    或者你可以重命名现有的origin名称并添加你的origin

    git remote rename origin destination

    再次执行以下命令

    $ git remote -v

    destination git@gitlab.com:abc/backend/abc.git (fetch) destination git@gitlab.com:abc/backend/abc.git (push)

    它会更改你现有的仓库名称,因此你可以使用该origin名称

    或者你可以只删除现有的origin并添加你的origin

    git remote rm destination


5

如果您在没有初始化git的目录中运行该命令,也会出现这种情况。如果是这种情况,请先运行以下命令:

git init

5
在Windows上使用Git Bash将存储库添加到Git Hun时遇到了相同的错误。
 git remote add origin https://github.com/axaysushir/netflix_page_clone.git

致命错误:远程仓库origin已经存在。
fatal: remote origin already exists.

 ! [rejected]        master -> master (fetch first)

错误:无法将某些引用推送到 'https://github.com/axaysushir/meditation_app_using_js.git'

使用以下命令更新存储库:

$ git remote set-url origin https://github.com/axaysushir/netflix_page_clone.git

然后使用git remote add github而不是git remote add origin来添加存储库。
$ git remote add github https://github.com/axaysushir/netflix_page_clone.git

请执行以下命令,而不是git push origin master,这将把您的存储库上传到Github。
$ git push github master

4

试试这个

  • 输入命令: cd existing_repo
  • 输入命令: git remote rename origin old-origin

兄弟谢谢,这是唯一对我有效的东西。 - Akshat Tamrakar

3

要使用git,您必须是root用户。如果不是root用户,请使用sudo命令。

删除origin:

git remote remove origin

添加origin:

git remote add origin http://giturl


2

如果您遇到“error: remote origin already exists.”这样的错误,请尝试以下命令删除已存在的远程origin

git remote remove origin

然后使用您的命令。
git remote add origin git@github.com:ppreyer/first_app.git

如果您不想删除现有的远程记录,那么请更新它。
git remote set-url <REMOTE-NAME> <NEW-URL>

那么使用你的命令。
git remote add origin git@github.com:ppreyer/first_app.git

如果您想重命名现有项目,请使用以下命令:

git remote rename <old-name> <new-name>

如果你想将原始远程重命名为备份,则只需要运行以下命令:

git remote rename origin backup

谢谢!

1
你的回答可以通过添加更多支持信息来改进。请[编辑]以添加进一步的细节,例如引用或文献,以便其他人可以确认您的答案正确。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

1
请将“git remote add origin git@github.com”中的“add”替换为“set-url”,即为“git remote set-url origin git@github.com”。

0

如果您想通过GUI进行操作,请按以下步骤操作:

  1. 确保在项目文件夹中可见"隐藏文件"
  2. 进入.git目录
  3. 编辑config.txt文件中的url文件并保存文件!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接