我在某个地方的GitHub上有我的项目git@github.com:myname/oldrep.git
.
现在我想将我的所有代码推送到其他位置的新存储库中git@github.com:newname/newrep.git
.
我使用了命令:
git remote add origin git@github.com:myname/oldrep.git
但我收到了这个:
致命的:远程起源已经存在.
MrHus.. 796
您收到此错误,因为"origin"不可用."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设置,如果它不太可能你在本地做了init,并试图将它推向远程,并像我一样犯了一个错误.然后按照RobinH的回答:git remote set-url origin git@github.com:username/projectname.git (8认同)
`git push -u origin master --force` (2认同)
Hoetmaaiers.. 248
以前的解决方案似乎忽略了原点,他们只建议使用其他名称.当你只是想使用时git push origin
,继续阅读.
出现问题的原因是遵循了错误的Git配置顺序.您可能已经在.git配置中添加了"git origin".
您可以使用以下行更改Git配置中的远程源:
git remote set-url origin git@github.com:username/projectname.git
此命令为要推送到的Git存储库设置新URL.重要的是要填你自己的用户名和项目名称
您收到此错误,因为"origin"不可用."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 push origin
,继续阅读.
出现问题的原因是遵循了错误的Git配置顺序.您可能已经在.git配置中添加了"git origin".
您可以使用以下行更改Git配置中的远程源:
git remote set-url origin git@github.com:username/projectname.git
此命令为要推送到的Git存储库设置新URL.重要的是要填你自己的用户名和项目名称
如果您错误地将本地名称命名为"origin",则可以使用以下命令将其删除:
git remote rm origin
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命令重命名现有远程.现有的远程名称,例如origin.
git remote rename origin startpoint # Change remote name from 'origin' to 'startpoint'
验证远程的新名称 - >
git remote -v
如果Git的新手试试这个教程 - >
尝试GIT TUTORIAL
您只需在文本编辑器中编辑配置文件即可.
在~/.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).
git remote rm origin
git remote -v
它不会显示任何存储库名称
git remote add origin git@github.com:username/myapp.git
git push origin master
它将开始该过程并创建新分支。您可以看到您的工作已推送到github。
您不必删除现有的"origin"遥控器,只需使用"origin"以外的名称进行远程添加,例如
git remote add github git@github.com:myname/oldrep.git
git remote rm origin git remote add origin git@github.com:username/myapp.git
我遇到了同样的问题,这是我在进行一些研究后如何修复它:
下载适用于Windows的GitHub或使用类似的东西,其中包括一个shell
打开Git Shell
任务菜单.这将打开包含Git命令的电源shell.
在shell中,切换到旧的存储库,例如 cd C:\path\to\old\repository
显示旧存储库的状态
键入git remote -v
以获取fetch和push remote的远程路径.如果您的本地存储库连接到远程,它将显示如下内容:
起源 的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
只显示,而不是获取和推送路径.
现在您的旧远程存储库已断开连接,您可以添加新的远程存储库.使用以下命令连接到新存储库.
注意:如果您使用Bitbucket,您将首先在Bitbucket上创建一个项目.创建之后,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