远程原点已经存在于'git push'到一个新的仓库

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

现在我想把所有的代码都推送到一个新的仓库, git@github.com:newname/newrep.git

我用了这个命令:

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

但我收到这个:

致命的:远程原点已经存在。

您正在收到此错误,因为“原点”不可用。 “起源”是一个不属于命令的约定。 “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

要删除您input的远程存储库:

 git remote rm origin 

如果你想删除“上游”远程,再次“起源”是远程存储库的名称:

 git remote rm upstream 

以前的解决scheme似乎忽略了起源,他们只build议使用另一个名字。 当你只是想使用git push origin ,请继续阅读。

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

您可以使用以下行更改Gitconfiguration中的远程原点:

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

这个命令为你要推送的Git仓库设置一个新的URL。 重要的是填写你自己的用户名和项目名称

如果您错误地将本地名称命名为“原产地”,则可以将其删除:

 git remote rm origin 

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

~/.gitconfig你需要放置如下内容:

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

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

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

如果存储库configuration文件中存在远程部分,并且URL匹配,则只需添加推送configuration即可。 如果您使用公共URL进行抓取,则可以将URL作为“pushurl”(警告:这需要刚刚发布的Git 1.6.4版)。

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

git remote添加github git@github.com:myname / oldrep.git

我得到了同样的问题,这里是我做了一些研究后,如何修复它:

  1. 下载GitHub for Windows或使用类似的东西,其中包括一个shell
  2. 从任务菜单打开Git Shell 。 这将打开一个包含Git命令的电源shell。
  3. 在shell中,切换到旧的存储库,例如cd C:\path\to\old\repository
  4. 显示旧版本库的状态

    • 键入git remote -v来获取远程访存的远程path。 如果您的本地存储库连接到远程,它将显示如下所示:

      来源https://user@bitbucket.org/team-or-user-name/myproject.git (获取)来源https://user@bitbucket.org/team-or-user-name/myproject.git (推送)

    • 如果没有连接,它可能只显示origin

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

     git remote rm origin 
  6. 再次检查第4步。它应该只显示origin ,而不是取和推path。

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

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

 cd /path/to/my/repo # If haven't done 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 

而已。

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

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

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

METHOD1->

由于原产地已经存在删除它。

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

METHOD2->

也可以通过 – > 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 

如果试图更新不存在的远程,您将收到一个错误。 所以要小心。

METHOD3->

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

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

validation远程的新名称 – >

 git remote -v 

如果Git尝试使用本教程 – >

试试GIT TITORIAL

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

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

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

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

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

我认为这应该工作。

是的,这些是存储库初始化和添加一个新的远程。 只是改名而已。

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

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