ChatGPT解决这个技术问题 Extra ChatGPT

'git push' 上已经存在远程源到新存储库

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

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

我使用了命令:

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

但我收到了这个:

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

给出命令 $> git remote -v show 的输出
如果您知道旧存储库的 URL,一个好方法是在新创建的存储库底部使用“从另一个存储库导入”。
此处提出了类似的问题:stackoverflow.com/questions/2432764/…
如果您想保留原始遥控器,您可以简单地使用不同的名称 git remote add origin2 ....但是如果您只需要推送一次而不修改 repo 配置,那么您可以简单地执行 git push git@github.com:user/another-project.git master:master

M
MrHus

您收到此错误是因为“原点”不可用。 “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,如果您不太可能在本地进行初始化并尝试将其远程推送,并像我一样犯了错误)。然后按照 RobinH 的回答: git remote set-url origin git@github.com:username/projectname.git
检查 this answer 以强制 URL。
“git remote rm origin”就像一个魅力,太棒了! :) puhh,我是 git 术语的新手,所以这是一个更大的搜索,但你的回答对我帮助很大。 :) 谢谢你!
git push -u origin master --force
——力就是解决办法!
P
Peter Mortensen

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

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

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

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

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


这为我解决了问题。但真正帮助我解决这个问题的是因为我使用的是与 Gihub for windows 一起安装的portableGit。我找到了解决方案 here
伟大的!我需要将我的 gitorious repo 更改为 git lab repo,这个解决方案非常完美!谢谢!
与OP相同的情况,我需要这样做,然后是@MrHus的解决方案。
如果有人遇到权限错误,您可能需要像我一样使用 https 版本。它会是这样的:git remote set-url origin https://github.com/<username>/<projectname>.git
Ö
Özgür

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

git remote rm origin

“错误地将本地名称命名为'origin'”实际上是什么意思?你能详细解释一下吗?@Ozgur
这可能意味着您添加了不指向 git 存储库的远程源。因此,如果您打算将所有更改推送到主服务器,git 会抱怨说远程源不是 git 存储库。
S
Shaurya Uppal

方法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 新手,请尝试本教程->

TRY GIT TUTORIAL


P
Peter Mortensen

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

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


T
Thomas Fritsch

git remote rm origin git remote -v 它不会显示任何存储库名称 git remote add origin git@github.com:username/myapp.git git push origin master 它将启动进程并创建新分支。你可以看到你的工作被推送到了 github。


D
Dmitri

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

下载适用于 Windows 的 GitHub,或使用类似的东西,其中包括一个 shell。从任务菜单中打开 Git Shell。这将打开一个包含 Git 命令的 power shell。在 shell 中,切换到您的旧存储库,例如 cd C:\path\to\old\repository。显示旧存储库的状态。

键入 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(推送)

如果它没有连接,它可能只显示原点。

现在使用 git remote rm origin 从本地存储库中删除远程存储库,再次使用 git remote -v 检查,如步骤 4 所示。它应该只显示源,而不是获取和推送路径。现在您的旧远程存储库已断开连接,您可以添加新的远程存储库。使用以下命令连接到您的新存储库:

注意:如果您使用的是 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.

而已。


A
Aayushi
git remote rm origin
git remote add origin git@github.com:username/myapp.git

m
mpelzsherman

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

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


P
Peter Mortensen

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

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

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

P
Peter Mortensen

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

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

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

我认为这应该有效。

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


n
nolim1t

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

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


b
buddemat

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

git remote set-url origin https://github.com/USERNAME/NEW_REPO.git
    
git push --set-upstream origin main

C
Clay Morton

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


M
Madan Sapkota

您需要检查 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


A
Asad Zubair Bhatti

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

fatal: remote origin already exists.

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

git remote rm origin

现在再次添加

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

这确实解决了我的问题。


l
lys

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

git remote rm origin

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


P
Pramod Lawate

尝试删除第一个现有来源,为了查看哪个现有来源已向 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

S
Sarath Chandran

步骤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

S
Shivam Sharma

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

还单击 android studio Setting->VersionControl click here for removing the Version control from android 中的减号(删除按钮),然后您将能够创建新的存储库。


N
Nazmul Hoque

试试这个对我有用的命令。

rm -rf .git/


R
Rasikh
git remote rm origin 

接着

git push -f 

你确定这行得通吗?你试过了吗?
是的,我做过很多次
它似乎对我不起作用,我得到“致命:没有配置的推送目标”。 git push -f 使用“原点”作为默认远程位置,但您之前的命令只是将其删除。如果这在某些条件下有效,您可以在答案中包含这些条件吗?