我的项目在GitHub上的某个位置git@github.com:myname/oldrep.git
。
现在,我想将所有代码推送到其他位置的新存储库git@github.com:newname/newrep.git
。
我使用了命令:
git remote add origin git@github.com:myname/oldrep.git
但我收到这个:
致命:远程来源已经存在。
#1楼
先前的解决方案似乎忽略了起源,它们仅建议使用其他名称。 当您只想使用git push origin
,请继续阅读。
出现问题是因为遵循了错误的Git配置顺序。 您可能已经在.git配置中添加了“ git origin”。
您可以使用以下行在Git配置中更改远程源:
git remote set-url origin git@github.com:username/projectname.git
该命令为您要推送到的Git存储库设置新的URL。 重要的是要填你自己的用户名和项目名称
#2楼
您收到此错误的原因是“来源”不可用。 “ 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
#3楼
您还可以在REPOHOME / .git / config文件中更改要推送到的存储库名称
(其中REPOHOME是存储库的本地克隆的路径)。
#4楼
您只需在文本编辑器中编辑配置文件即可。
在~/.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)。
#5楼
我遇到了同样的问题,这是经过一些研究后如何解决的:
- 下载适用于Windows的GitHub或使用类似的东西,其中包括一个shell
- 从任务菜单中打开
Git Shell
。 这将打开包含Git命令的电源外壳。 - 在外壳程序中,切换到旧的存储库,例如
cd C:\\path\\to\\old\\repository
显示旧资料库的状态
键入
git remote -v
以获取用于获取的远程路径并推送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
而已。
#6楼
当我第一次使用Bitbucket进行设置时,我遇到了同样的问题。
我的问题是我需要将单词origin更改为自定义。 我使用了应用程序的名称。 所以:
git remote add AppName https://someone@bitbucket.org/somewhere/something.git
#7楼
您应该将远程存储库的名称更改为其他名称。
git remote add origin git@github.com:myname/oldrep.git
至
git remote add neworigin git@github.com:myname/oldrep.git
我认为这应该有效。
是的,这些用于存储库初始化和添加新的远程。 只是更改名称。
#8楼
如果您将本地名称错误地命名为“ origin”,则可以使用以下命令将其删除:
git remote rm origin
#9楼
git remote rm origin
git remote add origin git@github.com:username/myapp.git
#10楼
当您忘记进行第一次提交时,也会发生这种情况。
#11楼
方法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 named命令重命名现有的远程服务器。 现有的远程名称,例如origin。
git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'
验证遥控器的新名称->
git remote -v
如果不熟悉Git,请尝试使用本教程->
#12楼
git remote rm origin
git remote -v
不会显示任何存储库名称git remote add origin git@github.com:username/myapp.git
git push origin master
将启动该过程并创建新分支。 您可以看到您的工作已推送到github。
#13楼
打开Android Studio> VCS> Git>遥控器删除将在此部分显示的所有地址。 问题将会解决。
#14楼
您不必删除现有的“源”遥控器,只需为远程添加使用“源”以外的名称,例如
git远程添加github git@github.com:myname / oldrep.git