远程源在'git push'上已经存在于新的存储库中

时间:2009-08-03 11:32:40

标签: git github git-push git-remote

我的GitHub项目位于某个位置,git@github.com:myname/oldrep.git

现在我想将我的所有代码推送到其他位置git@github.com:newname/newrep.git的新存储库。

我使用了命令:

  

git remote add origin git@github.com:myname/oldrep.git

但我收到了这个:

  

致命:远程来源已经存在。

21 个答案:

答案 0 :(得分:715)

您收到此错误,因为“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

答案 1 :(得分:230)

之前的解决方案似乎忽略了原点,他们只建议使用其他名称。如果您只想使用git push origin,请继续阅读。

出现问题是因为遵循了错误的Git配置顺序。您可能已经添加了一个' git origin'到你的.git配置。

您可以使用以下行更改Git配置中的远程原点:

git remote set-url origin git@github.com:username/projectname.git

此命令为要推送到的Git存储库设置新URL。 重要的是填写您自己的用户名项目名称

答案 2 :(得分:71)

如果您错误地将本地名称命名为“origin”,则可以使用以下命令将其删除:

git remote rm origin

答案 3 :(得分:15)

您只需在文本编辑器中编辑配置文件即可。

~/.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)。

答案 4 :(得分:15)

<强> METHOD1-&GT;

由于原点已经存在,请将其删除。

git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git

<强> METHOD2-&GT;

还可以通过 - &gt; 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-&GT;

使用git remote rename命令重命名现有遥控器。 现有的远程名称,例如origin。

git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'

验证遥控器的新名称 - &gt;

git remote -v

如果Git新手试用本教程 - >

TRY GIT TUTORIAL

答案 5 :(得分:8)

您不必删除现有的“origin”遥控器,只需使用“origin”以外的名称进行远程添加,例如

git remote add github git@github.com:myname/oldrep.git

答案 6 :(得分:6)

我遇到了同样的问题,以下是我在做一些研究后修复它的方法:

  1. 下载GitHub for Windows或使用类似的内容,其中包括shell
  2. 从任务菜单中打开Git Shell。这将打开包含Git命令的电源外壳。
  3. 在shell中,切换到旧存储库,例如cd C:\path\to\old\repository
  4. 显示旧存储库的状态

  5. 现在使用

    从本地存储库中删除远程存储库
    git remote rm origin
    
  6. 再次检查第4步。它应该只显示origin,而不是提取和推送路径。

  7. 现在您的旧远程存储库已断开连接,您可以添加新的远程存储库。使用以下命令连接到新存储库。

  8. 注意:如果你使用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
    

    就是这样。

答案 7 :(得分:5)

首次使用Bitbucket进行设置时遇到了同样的问题。

我的问题是我需要为自定义的内容更改单词origin。我使用了应用程序的名称。所以:

git remote add AppName https://someone@bitbucket.org/somewhere/something.git

答案 8 :(得分:5)

XML

答案 9 :(得分:4)

您应该将远程存储库的名称更改为其他名称。

git remote add origin git@github.com:myname/oldrep.git

git remote add neworigin git@github.com:myname/oldrep.git

我认为这应该有用。

是的,这些是针对存储库init并添加新的远程。只是换了名字。

答案 10 :(得分:3)

您还可以在REPOHOME / .git / config文件中更改要推送到的存储库名称

(其中REPOHOME是存储库本地克隆的路径)。

答案 11 :(得分:2)

  1. git remote rm origin

  2. git remote -v 它不会显示任何存储库名称

  3. git remote add origin git@github.com:username/myapp.git

  4. git push origin master 它将开始该过程并创建新分支。 您可以看到您的工作已推送到github。

答案 12 :(得分:1)

您应该只更新现有遥控器

git remote set-url origin https://yourgit/Nameepository.git

并推送现有文件夹

cd existing_folder
git init
git remote add origin https://yourgit/Nameepository.git
git add .
git commit -m "Initial commit"
git push -u origin master

答案 13 :(得分:0)

打开Android Studio> VCS> Git>遥控器 删除将在此部分中显示的所有地址。问题将会解决。

image

答案 14 :(得分:0)

首先,为已删除的遥控器编写以下代码:

$ git remote rm origin

然后写这一行:

$ git remote add origin https://github.com/khadim321/React-Form.git

工作正常。

答案 15 :(得分:0)

您需要检查origin并添加(如果不存在)。

if ! git config remote.origin.url >/dev/null; then
    git remote add origin git@github.com:john/doe.git
fi

创建文件check.sh,粘贴脚本以更新您的git存储库URL并运行./check.sh

答案 16 :(得分:0)

步骤:1

git remote rm origin

步骤:2

git remote add origin enter_your_repository_url

示例:

git remote add origin https://github.com/my_username/repository_name.git

答案 17 :(得分:0)

如果您要在github中创建一个具有相同项目的新存储库,并且在这种情况下,以前的Remote不允许您执行此操作,请先在github上删除该存储库,然后只需删除.git文件夹 C:\ Users \ Shiva \ AndroidStudioProjects \ yourprojectname \ .git delete that folder,(确保您单击了隐藏文件,因为该文件夹被隐藏了)

也可以从android studio设置-> VersionControl上单击减号(“删除”按钮) click here for removing the Version control from android 然后,您将可以创建新的存储库。

答案 18 :(得分:0)

我遇到了同样的问题,但是找到了解决方案。基本上,“起源”是从中克隆项目的另一个名称。现在出现错误

fatal: remote origin already exists.

LITERALLY表示原点已经存在。因此,要解决此问题,我们的目标应该是删除它。 为此:

git remote rm origin

现在再次添加

git remote add origin https://github.com/__enter your username here__/__your repositoryname.git__

这确实解决了我的问题。

答案 19 :(得分:0)

我自己刚刚遇到了这个问题,我只是通过删除原点来删除它。 此命令删除 origin

git remote rm origin

如果您已将远程存储库添加为 origin,请尝试实现此命令。

答案 20 :(得分:0)

尝试删除第一个现有源,为了查看哪个现有源已向 bash 注册,您可以触发以下命令。

 git remote -v 

在你知道哪个版本的 origin 注册了 bash 之后,你可以通过在下面的命令中触发来删除现有的 origin

git remote rm origin

删除现有源后,您可以通过在以下情况下触发以下命令来添加新源..

git remote add origin git@github.com:myname/oldrep.git

在 git 中添加源后,就可以将本地提交推送到远程源

git push -u origin --all
相关问题