我在某个地方的GitHub上有我的项目, git@github.com:myname/oldrep.git .
git@github.com:myname/oldrep.git
现在我想将我的所有代码推送到其他位置的新存储库 git@github.com:newname/newrep.git .
git@github.com:newname/newrep.git
我使用了命令:
git remote add origin git@github.com:myname/oldrep.git
但我收到了这个:
致命:远程起源已经存在 .
您收到此错误,因为“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 push origin
出现问题的原因是遵循了错误的Git配置顺序 . 您可能已经在.git配置中添加了“git origin” .
您可以使用以下行更改Git配置中的远程源:
git remote set-url origin git@github.com:username/projectname.git
此命令为要推送到的Git存储库设置新URL . 重要的是填写你自己的 username 和 projectname
如果您错误地将本地名称命名为“origin”,则可以使用以下命令将其删除:
您只需在文本编辑器中编辑配置文件即可 .
在 ~/.gitconfig 中,你需要输入如下内容:
~/.gitconfig
[user] name = Uzumaki Naruto email = myname@example.com [github] user = myname token = ff44ff8da195fee471eed6543b53f1ff
在 oldrep/.git/config 文件中(在存储库的配置文件中):
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) .
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
If new to Git try this tutorial->
TRY GIT TUTORIAL
您不必删除现有的“origin”遥控器,只需使用“origin”以外的名称进行远程添加即可 .
git remote add github git@github.com:myname/oldrep.git
我遇到了同样的问题,这是我在进行一些研究后如何修复它:
下载GitHub for Windows或使用类似的东西,其中包括一个shell
从任务菜单中打开 Git Shell . 这将打开包含Git命令的电源shell .
Git Shell
在shell中,切换到旧存储库,例如 cd C:\path\to\old\repository
cd C:\path\to\old\repository
显示旧存储库的状态
键入 git remote -v 以获取fetch和push remote的远程路径 . 如果您的本地存储库连接到远程,它将显示如下内容:
origin https://user@bitbucket.org/team-or-user-name/myproject.git(fetch)origin https://user@bitbucket.org/team-or-user-name/myproject.git(推)
如果未连接,则可能仅显示 origin .
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
git remote rm origin git remote add origin git@github.com:username/myapp.git
您还可以在REPOHOME / .git / config文件中更改要推送到的存储库名称
(其中REPOHOME是存储库的本地克隆的路径) .
您应该将远程存储库的名称更改为其他名称 .
至
git remote add neworigin git@github.com:myname/oldrep.git
一世认为这应该有效 .
是的,这些是针对存储库init并添加新的远程 . 只是换了名字 .
当您忘记进行第一次提交时,也会发生这种情况 .
git remote -v 它不会显示任何存储库名称
git remote add origin git@github.com:username/myapp.git
git push origin master 它将启动该过程并创建新分支 . 你可以看到你的工作被推送到github .
git push origin master
13 回答
您收到此错误,因为“origin”不可用 . “origin”是一种惯例,不是命令的一部分 . “origin”是远程存储库的本地名称 .
例如,你也可以写:
参见手册:
http://www.kernel.org/pub/software/scm/git/docs/git-remote.html
要删除远程存储库,请输入:
如果要删除“上游”远程,“origin”是远程存储库的名称:
以前的解决方案似乎忽略了原点,他们只建议使用其他名称 . 如果您只想使用
git push origin
,请继续阅读 .出现问题的原因是遵循了错误的Git配置顺序 . 您可能已经在.git配置中添加了“git origin” .
您可以使用以下行更改Git配置中的远程源:
此命令为要推送到的Git存储库设置新URL . 重要的是填写你自己的 username 和 projectname
如果您错误地将本地名称命名为“origin”,则可以使用以下命令将其删除:
您只需在文本编辑器中编辑配置文件即可 .
在
~/.gitconfig
中,你需要输入如下内容:在
oldrep/.git/config
文件中(在存储库的配置文件中):如果存储库的配置文件中有远程部分,并且URL匹配,则只需添加推送配置 . 如果您使用公共URL进行提取,则可以将推送的URL作为'pushurl'(警告:这需要刚刚发布的Git版本1.6.4) .
METHOD1->
由于原点已存在,请将其删除 .
METHOD2->
也可以通过 - > git remote set-url更改现有的远程存储库URL
如果您要更新以使用HTTPS
如果您要更新以使用SSH
如果尝试更新不存在的遥控器,则会收到错误 . 所以要小心 .
METHOD3->
使用git remote rename命令重命名现有远程 . 现有的远程名称,例如origin .
验证远程的新名称 - >
If new to Git try this tutorial->
TRY GIT TUTORIAL
您不必删除现有的“origin”遥控器,只需使用“origin”以外的名称进行远程添加即可 .
git remote add 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
以获取fetch和push remote的远程路径 . 如果您的本地存储库连接到远程,它将显示如下内容:origin https://user@bitbucket.org/team-or-user-name/myproject.git(fetch)origin https://user@bitbucket.org/team-or-user-name/myproject.git(推)
如果未连接,则可能仅显示
origin
.现在使用,从本地存储库中删除远程存储库
再次使用步骤4进行检查 . 它应仅显示
origin
,而不是提取和推送路径 .现在您的旧远程存储库已断开连接,您可以添加新的远程存储库 . 使用以下命令连接到新存储库 .
注意:如果您使用Bitbucket,您将首先在Bitbucket上创建一个项目 . 创建之后,Bitbucket将显示所有必需的Git命令,将您的存储库推送到远程,这看起来类似于下一个代码片段 . 但是,这也适用于其他存储库 .
而已 .
我第一次使用Bitbucket设置时遇到了同样的问题 .
我的问题是我需要为自定义的东西改变单词的起源 . 我使用了应用程序的名称 . 所以:
您还可以在REPOHOME / .git / config文件中更改要推送到的存储库名称
(其中REPOHOME是存储库的本地克隆的路径) .
您应该将远程存储库的名称更改为其他名称 .
至
一世认为这应该有效 .
是的,这些是针对存储库init并添加新的远程 . 只是换了名字 .
当您忘记进行第一次提交时,也会发生这种情况 .
git remote rm origin
git remote -v
它不会显示任何存储库名称git remote add origin git@github.com:username/myapp.git
git push origin master
它将启动该过程并创建新分支 . 你可以看到你的工作被推送到github .