远程原点已经存在于'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
我得到了同样的问题,这里是我做了一些研究后,如何修复它:
- 下载GitHub for Windows或使用类似的东西,其中包括一个shell
- 从任务菜单打开
Git Shell
。 这将打开一个包含Git命令的电源shell。 - 在shell中,切换到旧的存储库,例如
cd C:\path\to\old\repository
-
显示旧版本库的状态
-
键入
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
。
-
-
现在通过使用从本地存储库中删除远程存储库
git remote rm origin
-
再次检查第4步。它应该只显示
origin
,而不是取和推path。 -
现在您的旧远程存储库已断开连接,您可以添加新的远程存储库。 使用以下连接到您的新存储库。
注意:如果你使用的是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
当您忘记进行第一次提交时,也会发生这种情况。