Remote origin already exists on 'git push' to a new repository
我在Github的某个地方有我的项目,
现在,我想将所有代码推送到其他位置的一个新的存储库,
我使用命令:
git remote add origin [email protected]:myname/oldrep.git
但我收到了:
fatal: remote origin already exists.
您收到此错误是因为"来源"不可用。"origin"是一个约定,不是命令的一部分。origin"是远程存储库的本地名称。
例如,你也可以写:
1 2 | git remote add myorigin [email protected]:myname/oldrep.git git remote add testtest [email protected]:myname/oldrep.git |
请参阅手册:
网址:http://www.kernel.org/pub/software/scm/git/docs/git-remote.html
要删除远程存储库,请输入:
1 | git remote rm origin |
同样,"origin"是远程存储库的名称,如果您想移除"上游"遥控器:
1 | git remote rm upstream |
以前的解决方案似乎忽略了来源,它们只建议使用另一个名称。当你只想使用
出现此问题是因为遵循了错误的git配置顺序。您可能已经在.git配置中添加了"git源站"。
您可以使用以下行更改Git配置中的远程源站:
1 | git remote set-url origin [email protected]:username/projectname.git |
此命令为要推送到的Git存储库设置新的URL。重要的是填写自己的用户名和项目名称
如果您错误地将本地名称命名为"origin",可以使用以下命令删除它:
1 | git remote rm origin |
方法1->
因为原点已经存在,所以移除它。
1 2 | git remote rm origin git remote add origin https://github.com/USERNAME/REPOSITORY.git |
方法2->
还可以通过->git remote set url更改现有的远程存储库url。
如果要更新以使用https
1 | git remote set-url origin https://github.com/USERNAME/REPOSITORY.git |
如果要更新以使用ssh
1 | git remote set-url origin [email protected]:USERNAME/REPOSITORY.git |
如果尝试更新不存在的远程程序,您将收到一个错误。所以小心点。
方法3->
使用git remote rename命令重命名现有远程。现有的远程名称,例如,origin。
1 2 | git remote rename origin startpoint # Change remote name from 'origin' to 'startpoint' |
验证遥控器的新名称->
1 | git remote -v |
如果是Git新手,请尝试本教程->
试用Git教程
您可以在文本编辑器中简单地编辑配置文件。
在
1 2 3 4 5 6 7 | [user] name = Uzumaki Naruto email = [email protected] [github] user = myname token = ff44ff8da195fee471eed6543b53f1ff |
在
1 2 3 4 | [remote"github"] url = [email protected]:myname/oldrep.git push = +refs/heads/*:refs/heads/* push = +refs/tags/*:refs/tags/* |
如果存储库的配置文件中有一个远程部分,并且URL匹配,则只需添加推送配置。如果使用公共URL进行获取,则可以将推送的URL作为"pushURL"(警告:这需要刚刚发布的Git版本1.6.4)。
您不必删除现有的"源站"遥控器,只需为远程添加使用"源站"以外的名称,例如。
git remote添加github [email protected]:myname/oldrep.git
我也遇到了同样的问题,下面是我在做了一些研究之后如何解决的:
epository
显示旧存储库的状态
键入
git remote -v 以获取用于获取和推送远程的远程路径。如果本地存储库连接到远程存储库,它将显示如下内容:来源https://[email protected]/team-or-user-name/myproject.git(fetch)来源https://[email protected]/team-or-user-name/myproject.git(push)
如果没有连接,可能只显示
origin 。
现在,通过使用从本地存储库中删除远程存储库
1 | git remote rm origin |
用步骤4再次检查。它应该只显示
现在,旧的远程存储库已断开连接,您可以添加新的远程存储库。使用以下方法连接到新的存储库。
注意:如果您使用的是BitBucket,您将首先在BitBucket上创建一个项目。创建完成后,bitback将显示将存储库推送到远程所需的所有git命令,这类似于下一个代码片段。然而,这也适用于其他存储库。
1 2 3 | cd /path/to/my/repo # If haven't done yet git remote add mynewrepo https://[email protected]/team-or-user-name/myproject.git git push -u mynewrepo master # To push changes for the first time |
就是这样。
1 2 | git remote rm origin git remote add origin [email protected]:username/myapp.git |
我第一次使用bitback时也遇到了同样的问题。
我的问题是,我需要改变一些自我定义的词的来源。我用了申请的名字。所以:
1 | git remote add AppName https://[email protected]/somewhere/something.git |
您应该将远程存储库的名称更改为其他名称。
1 | git remote add origin [email protected]:myname/oldrep.git |
到
1 | git remote add neworigin [email protected]:myname/oldrep.git |
我认为这应该管用。
是的,这些是用于repository init和添加新的远程。只是换了个名字。
还可以在rephome/.git/config文件中更改要推送的存储库名称。
(其中rephome是存储库的本地克隆的路径)。
打开Android Studio>VCS>Git>Remotes删除将在此部分中显示的所有地址。问题会解决的。
形象
当您忘记进行第一次提交时,也可能发生这种情况。