621

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

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

我使用了命令:

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

但我收到了这个:

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

4

21 回答 21

982

您收到此错误是因为“原点”不可用。“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
于 2009-08-03T11:41:17.390 回答
287

以前的解决方案似乎忽略了起源,他们只建议使用另一个名称。当您只想使用git push origin时,请继续阅读。

出现问题是因为遵循了错误的 Git 配置顺序。您可能已经在 .git 配置中添加了“git origin”。

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

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

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

于 2012-04-05T11:49:59.403 回答
94

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

git remote rm origin
于 2010-08-13T11:45:09.100 回答
28

方法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 rename 命令重命名现有远程。现有的远程名称,例如 origin。

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

验证遥控器的新名称->

git remote -v

如果是 Git 新手,请尝试本教程->

尝试 git 教程

于 2017-06-23T11:10:18.647 回答
17

您可以简单地在文本编辑器中编辑配置文件。

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

于 2009-08-03T19:05:24.277 回答
12
  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。

于 2018-08-10T10:54:23.810 回答
10

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

  1. 下载适用于 Windows 的 GitHub,或使用类似的东西,其中包括一个 shell。
  2. Git Shell从任务菜单中打开。这将打开一个包含 Git 命令的 power shell。
  3. 在 shell 中,切换到您的旧存储库,例如cd C:\path\to\old\repository.
  4. 显示旧存储库的状态。
  • 键入git remote -v以获取远程获取和推送远程的远程路径。如果您的本地存储库连接到远程,它将显示如下内容:

     origin  https://user@bitbucket.org/team-or-user-name/myproject.git (fetch)
     origin  https://user@bitbucket.org/team-or-user-name/myproject.git (push)
    
  • 如果它没有连接,它可能origin只显示。

  1. 现在通过使用从本地存储库中删除远程存储库

    git remote rm origin
    
  2. 再次检查git remote -v,如步骤 4 所示。它应该origin只显示,而不是 fetch 和 push 路径。

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

注意:如果您使用的是 Bitbucket,您将首先在 Bitbucket 上创建一个项目。创建后,Bitbucket 将显示将存储库推送到远程所需的所有 Git 命令,类似于下一个代码片段。但是,这也适用于其他存储库。

cd /path/to/my/repo # If you haven't done that 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.

就是这样。

于 2014-01-23T13:28:19.577 回答
9
git remote rm origin
git remote add origin git@github.com:username/myapp.git
于 2017-04-08T09:54:22.003 回答
8

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

git 远程添加github git@github.com:myname/oldrep.git

于 2012-02-15T22:39:58.000 回答
5

当我第一次使用Bitbucket进行设置时,我遇到了同样的问题。

我的问题是我需要为自定义的东西更改词源。我使用了应用程序的名称。所以:

git remote add AppName https://someone@bitbucket.org/somewhere/something.git
于 2014-04-09T09:44:27.310 回答
4

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

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

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

我认为这应该有效。

是的,这些用于存储库初始化和添加新的远程。只是换了个名字。

于 2014-05-03T14:49:35.207 回答
3

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

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

于 2009-08-03T12:57:57.390 回答
1

当您忘记进行第一次提交时,也会发生这种情况。

于 2017-06-23T03:39:12.180 回答
1

如果不存在,您需要检查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

于 2020-01-06T09:18:06.990 回答
1

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

fatal: remote origin already exists.

字面意思是原点已经存在。因此,要解决这个问题,我们的目标应该是删除它。以此目的:

git remote rm origin

现在再次添加

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

这确实解决了我的问题。

于 2020-10-06T14:03:50.540 回答
1

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

git remote rm origin

如果您添加了远程仓库,请origin尝试实施此命令。

于 2021-02-25T07:58:25.243 回答
1

以下两个命令应该有助于设置。

git remote set-url origin https://github.com/USERNAME/NEW_REPO.git
    
git push --set-upstream origin main
于 2022-02-01T20:07:30.707 回答
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
于 2020-05-06T05:48:17.150 回答
0

如果您想在 github 中创建一个具有相同项目的新存储库,并且以前的 Remote 不允许您这样做,那么首先在 github 上删除该存储库,那么您只需删除 .git 文件夹C:\Users\ Shiva\AndroidStudioProjects\yourprojectname\.git 删除那个文件夹,(确保你点击隐藏文件,因为这个文件夹是隐藏的)

还从 android studio Setting->VersionControl 单击减号(删除按钮) 单击此处从 android 中删除版本控制,然后您将能够创建新的存储库。

于 2020-06-03T13:24:34.340 回答
0

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

 git remote -v 

在您知道哪个版本的原点已在 bash 中注册之后,您可以通过触发以下命令来删除现有原点

git remote rm origin

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

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

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

git push -u origin --all
于 2021-07-24T22:20:31.230 回答
-1

首先,为已移除的遥控器编写这行代码:

$ git remote rm origin

然后写下这一行:

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

它工作正常。

于 2019-12-17T11:41:56.867 回答