【问题标题】:Remote origin already exists on 'git push' to a new repository'git push' 上已经存在远程源到新存储库
【发布时间】:2010-11-16 08:23:12
【问题描述】:

我在 GitHub 上的某个位置有我的项目,git@github.com:myname/oldrep.git

现在我想将我的所有代码推送到其他位置的新存储库git@github.com:newname/newrep.git

我使用了命令:

git remote add origin git@github.com:myname/oldrep.git

但我收到了这个:

致命:远程源已经存在。

【问题讨论】:

  • 给出命令的输出 $> git remote -v show
  • 如果您知道旧版本库的 URL,一个好方法是在新创建的版本库底部使用 "import from another repository"
  • 这里提出了类似的问题:stackoverflow.com/questions/2432764/…
  • 如果你想保留原来的遥控器,你可以简单地使用不同的名字git remote add origin2 ....但是如果你只需要推送一次而不修改repo配置那么你可以只需做git push git@github.com:user/another-project.git master:master

标签: git github git-push git-remote


【解决方案1】:

您收到此错误是因为“原点”不可用。 “origin”是一个约定,不是命令的一部分。 “origin”是远程仓库的本地名称。

例如你也可以写:

git remote add myorigin git@github.com:myname/oldrep.git  
git remote add testtest git@github.com:myname/oldrep.git

查看手册:

http://www.kernel.org/pub/software/scm/git/docs/git-remote.html

要删除远程存储库,请输入:

git remote rm origin

如果你想的话,“origin”是远程仓库的名字 删除“上游”遥控器:

git remote rm upstream

【讨论】:

  • "git remote rm origin" 对我不起作用,如果它对您不起作用,请尝试使用“git remote -v”检查,这将显示您的来源是否设置了 url ,如果您不太可能在本地进行初始化并尝试将其远程推送,并且像我一样犯了错误)。然后按照 RobinH 的回答: git remote set-url origin git@github.com:username/projectname.git
  • 检查 this answer 以强制 URL。
  • "git remote rm origin" 就像一个魅力,太棒了! :) puhh,我是 git 术语的新手,所以这是一个更大的搜索,但你的回答对我有很大帮助。 :) 谢谢!
  • git push -u origin master --force
  • --力量就是解决方案!
【解决方案2】:

您还可以在 REPOHOME/.git/config 文件中更改要推送到的存储库名称

(其中 REPOHOME 是存储库本地克隆的路径)。

【讨论】:

    【解决方案3】:

    您可以简单地在文本编辑器中编辑您的配置文件。

    ~/.gitconfig 中,您需要输入以下内容类似

    [user]
            name  = Uzumaki Naruto
            email = myname@example.com
    
    [github]
            user = myname
            token = ff44ff8da195fee471eed6543b53f1ff
    

    oldrep/.git/config 文件中(在您的存储库的配置文件中):

    [remote "github"]
            url = git@github.com:myname/oldrep.git
            push  = +refs/heads/*:refs/heads/*
            push  = +refs/tags/*:refs/tags/*
    

    如果你的仓库配置文件中有远程部分,并且 URL 匹配,你只需要添加推送配置。如果您使用公共 URL 进行获取,则可以将用于推送的 URL 输入为“pushurl”(警告:这需要刚刚发布的 Git 版本 1.6.4)。

    【讨论】:

      【解决方案4】:

      如果您错误地将本地名称命名为“origin”,您可以使用以下命令将其删除:

      git remote rm origin
      

      【讨论】:

      • “错误地将本地名称命名为'origin'”实际上是什么意思?你能详细解释一下吗?@Ozgur
      • 这可能意味着您添加了不指向 git 存储库的远程源。因此,如果您打算将所有更改推送到主服务器,git 会抱怨说远程源不是 git 存储库。
      【解决方案5】:

      您不必删除现有的“origin”遥控器,只需为远程添加使用“origin”以外的名称,例如

      git 远程添加 github git@github.com:myname/oldrep.git

      【讨论】:

        【解决方案6】:

        以前的解决方案似乎忽略了起源,他们只建议使用另一个名称。如果您只想使用git push origin,请继续阅读。

        出现问题是因为 Git 配置的顺序错误。您可能已经在 .git 配置中添加了“git origin”。

        您可以使用以下行在 Git 配置中更改远程源:

        git remote set-url origin git@github.com:username/projectname.git
        

        此命令为您要推送到的 Git 存储库设置一个新 URL。 重要的是填写你自己的usernameprojectname

        【讨论】:

        • 谢谢,正是我必须做的:)
        • 这是为我解决的。但真正帮助我解决这个问题的是因为我使用的是与 Gihub for windows 一起安装的portableGit。我找到了解决方案here
        • 太棒了!我需要将我的 gitorious repo 更改为 git lab repo,这个解决方案非常完美!谢谢!
        • 与 OP 的情况相同,我需要这样做,然后是 @MrHus 的解决方案。
        • 这是最好的答案恕我直言
        【解决方案7】:

        我也遇到了同样的问题,经过一番研究,我是这样解决的:

        1. 下载GitHub for Windows,或使用类似的东西,包括一个shell。
        2. 从任务菜单中打开Git Shell。这将打开一个包含 Git 命令的 power shell。
        3. 在 shell 中,切换到您的旧存储库,例如cd C:\path\to\old\repository
        4. 显示旧存储库的状态。
        • 键入git remote -v 以获取远程获取和推送远程路径。如果您的本地存储库连接到远程,它将显示如下内容:

           origin  https://user@bitbucket.org/team-or-user-name/myproject.git (fetch)
           origin  https://user@bitbucket.org/team-or-user-name/myproject.git (push)
          
        • 如果未连接,它可能只显示origin

        1. 现在通过使用从本地存储库中删除远程存储库

          git remote rm origin
          
        2. 使用git remote -v 再次检查,如步骤 4 所示。它应该只显示origin,而不是获取和推送路径。

        3. 现在您的旧远程存储库已断开连接,您可以添加新的远程存储库。使用以下连接到您的新存储库:

        注意:如果您使用的是 Bitbucket,您将首先在 Bitbucket 上创建一个项目。创建后,Bitbucket 会显示所有需要的 Git 命令来将你的存储库推送到远程,看起来类似于下一个代码 sn-p。但是,这也适用于其他存储库。

        cd /path/to/my/repo # If you haven't done that yet.
        git remote add mynewrepo https://user@bitbucket.org/team-or-user-name/myproject.git
        git push -u mynewrepo master # To push changes for the first time.
        

        就是这样。

        【讨论】:

          【解决方案8】:

          我第一次使用Bitbucket 设置时遇到了同样的问题。

          我的问题是我需要为自定义的东西更改词源。我使用了应用程序的名称。所以:

          git remote add AppName https://someone@bitbucket.org/somewhere/something.git
          

          【讨论】:

            【解决方案9】:

            您应该将远程存储库的名称更改为其他名称。

            git remote add origin git@github.com:myname/oldrep.git
            

            git remote add neworigin git@github.com:myname/oldrep.git
            

            我认为这应该可行。

            是的,这些用于存储库初始化和添加新远程。只是换了个名字。

            【讨论】:

              【解决方案10】:
              git remote rm origin
              git remote add origin git@github.com:username/myapp.git
              

              【讨论】:

                【解决方案11】:

                当您忘记进行第一次提交时也会发生这种情况。

                【讨论】:

                  【解决方案12】:

                  方法1->

                  由于原点已经存在,请将其删除。

                  git remote rm origin
                  git remote add origin https://github.com/USERNAME/REPOSITORY.git
                  

                  方法2->

                  也可以通过 ->git remote set-url 更改现有的远程仓库 URL

                  如果您要更新以使用 HTTPS

                  git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
                  

                  如果您要更新以使用 SSH

                  git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
                  

                  如果尝试更新不存在的遥控器,您将收到错误消息。所以要小心。

                  方法3->

                  使用 git remote rename 命令重命名现有远程。 现有的远程名称,例如 origin。

                  git remote rename origin startpoint
                  # Change remote name from 'origin' to 'startpoint'
                  

                  验证遥控器的新名称->

                  git remote -v
                  

                  如果是 Git 新手,请尝试本教程->

                  TRY GIT TUTORIAL

                  【讨论】:

                  • 非常感谢。我被下载了,其他人 git 然后也想将它克隆到我的 GitHub 中。最后,我用你的第一种方法成功了。
                  【解决方案13】:
                  1. git remote rm origin

                  2. git remote -v 它不会显示任何存储库名称

                  3. git remote add origin git@github.com:username/myapp.git

                  4. git push origin master 它将启动该过程并创建新分支。 可以看到你的作品被推送到github了。

                  【讨论】:

                    【解决方案14】:

                    首先,为移除的遥控器写这行代码:

                    $ git remote rm origin
                    

                    然后写下这一行:

                    $ git remote add origin https://github.com/khadim321/React-Form.git
                    

                    它工作正常。

                    【讨论】:

                    • 请尝试提供更多解释,以便为您的答案提供更多价值
                    • 我不确定它是否有助于某人将您的 github 存储库之一添加为远程源。这个问题已经回答过几次了。在创建质量如此低的新问题之前检查另一个问题。
                    【解决方案15】:

                    您需要检查origin,如果不存在则添加。

                    if ! git config remote.origin.url >/dev/null; then
                        git remote add origin git@github.com:john/doe.git
                    fi
                    

                    创建文件check.sh,粘贴脚本更新你的git存储库URL并运行./check.sh

                    【讨论】:

                      【解决方案16】:

                      步骤:1

                      git remote rm origin
                      

                      步骤:2

                      git remote add origin enter_your_repository_url
                      

                      例子:

                      git remote add origin https://github.com/my_username/repository_name.git
                      

                      【讨论】:

                        【解决方案17】:

                        如果你想在 github 中创建一个具有相同项目的新存储库,并且以前的 Remote 不允许你这样做,那么首先删除 github 上的那个存储库,那么你只需要删除 .git 文件夹 C:\Users\Shiva\AndroidStudioProjects\yourprojectname\.git delete that folder,(确保你点击隐藏文件,因为这个文件夹是隐藏的)

                        同时点击 android studio Setting->VersionControl 中的减号(删除按钮) click here for removing the Version control from android 然后你就可以创建新的存储库了。

                        【讨论】:

                          【解决方案18】:

                          我遇到了同样的问题,但我找到了解决方案。基本上,“起源”是克隆项目的另一个名称。现在错误

                          fatal: remote origin already exists.
                          

                          字面意思是原点已经存在。因此,要解决这个问题,我们的目标应该是删除它。 为此:

                          git remote rm origin
                          

                          现在再添加一次

                          git remote add origin https://github.com/__enter your username here__/__your repositoryname.git__
                          

                          这确实解决了我的问题。

                          【讨论】:

                            【解决方案19】:

                            我自己也遇到了这个问题,我只是通过删除原点来删除它。 origin 被此命令删除

                            git remote rm origin
                            

                            如果您已将远程仓库添加为 origin,请尝试执行此命令。

                            【讨论】:

                              【解决方案20】:

                              尝试删除第一个现有的来源,为了查看哪个现有的来源已向 bash 注册,您可以触发以下命令。

                               git remote -v 
                              

                              在您知道哪个版本的源已在 bash 中注册后,您可以通过触发以下命令来删除现有源

                              git remote rm origin
                              

                              删除现有来源后,您可以通过在您的情况下触发以下命令来添加新来源..

                              git remote add origin git@github.com:myname/oldrep.git
                              

                              在 git 中添加来源后,您可以将本地提交推送到远程来源

                              git push -u origin --all
                              

                              【讨论】:

                                猜你喜欢
                                • 1970-01-01
                                • 2013-04-13
                                • 2014-10-14
                                • 2018-08-13
                                • 2022-10-23
                                • 2010-11-20
                                • 1970-01-01
                                • 2021-12-28
                                • 2013-03-28
                                相关资源
                                最近更新 更多