ChatGPT解决这个技术问题 Extra ChatGPT

GitHub“致命:远程源已经存在”

我正在尝试按照 Michael Hartl's Rails tutorial 进行操作,但遇到了错误。

我在 Github 上注册并发布了一个新的 SSH 密钥并创建了一个新的存储库。但是当我在终端中输入下一行时,出现以下错误:

Parkers-MacBook-Pro:.ssh ppreyer$ git remote add origin git@github.com:ppreyer/first_app.git
fatal: remote origin already exists.

只是想知道是否有其他人遇到过这个问题?

如果您尚未创建 git 存储库,请查看 .git/config 文件以查看是否尚未声明 origin。
我遇到了同样的问题,使用命令“git remote rm origin”然后使用命令 git remote add origin URL。
@AkhzarNazir 请将此添加为答案。它对我有用。
我删除了我的 2 因素身份验证,它对我有用。
@AkhzarNazir 它对我有用

A
Agis

TL;DR 你应该只更新现有的遥控器:

$ git remote set-url origin git@github.com:ppreyer/first_app.git

长版:

如错误消息所示,已经有一个远程配置了相同的名称。因此,您可以添加具有不同名称的新遥控器,也可以在不需要时更新现有遥控器:

要添加一个新的遥控器,例如称为 github 而不是 origin(它显然已经存在于您的系统中),请执行以下操作:

$ git remote add github git@github.com:ppreyer/first_app.git

但请记住,在教程中您看到 "origin" 的任何地方都应该将其替换为 "github"。例如 $ git push origin master 现在应该是 $ git push github master

但是,如果您想查看已经存在的 origin 是什么,您可以执行 $ git remote -v。如果您认为这是由于某些错误,您可以像这样更新它:

$ git remote set-url origin git@github.com:ppreyer/first_app.git

为什么 origin 会存在于他的新存储库中?他应该解决问题(例如确保 origin 是 github 的正确别名),而不是创建一个他必须提醒的新别名。
好的,但是当我进入下一步并将 git push -u origin master 输入终端时,我收到以下错误:错误:找不到存储库。致命:远端意外挂断是什么意思?
git remote -v 输出什么?另外,你能试试git push origin master吗?
git remote rm origin 不太奏效。它产生 error: Could not remove config section 'remote.origin'
@zespri:使用 git remote set-url --add origin git@github.com/username/repo.git
M
Manish Shrivastava

简而言之,

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

工作!

干杯!


谁能解释一下? git 远程 rm 起源
@KickButtowski rm 指的是 *nix 中使用的删除命令。所以这个命令告诉 git “删除”名为“origin”的远程服务器详细信息。
当您可以在 1 中执行时,无需分 2 步执行此操作。请参阅我的答案。
t
tomaj

首先做一个:

git remote rm origin

然后

git remote add origin https://github.com/your_user/your_app.git

瞧!为我工作!


为什么要删除原点?有什么办法可以添加任何东西而不是原点吗?
M
Mark Semsel

您可以查看配置为通过哪些远程存储库连接到

git remote -v

这将返回此格式的列表:

origin  git@github.com:github/git-reference.git (fetch)
origin  git@github.com:github/git-reference.git (push)

这可能会帮助您弄清楚原始“起源”所指的内容。

如果您想保持使用 -v 看到的远程连接,但仍想遵循 Rails 教程,而不必为教程的存储库记住“github”(或其他名称),您可以使用命令:

git remote rename [current name] [new name]

如:

git remote rename origin oldrepo

然后,您应该能够继续您的教程。


e
eduncan911

对于那些遇到非常常见的错误“致命:远程原点已经存在。”,或者当尝试删除原点并且您收到“错误:无法删除配置部分 remote.origin”时,您需要做的是手动设置原点。

Window 的 POSH~Git for Windows PowerShell(和 GitHub for Windows 的应用程序)对此有问题。

我遇到了这个,就像我经常做的那样,在设置我的八爪鱼时。所以,这就是我如何让它工作的。

首先,检查您的遥控器:

C:\gd\code\octopress [source +2 ~3 -0 !]> git remote -v
octopress       https://github.com/imathis/octopress.git (fetch)
octopress       https://github.com/imathis/octopress.git (push)
origin

您首先会注意到我的来源没有网址。任何删除它、重命名它等的尝试都失败了。

因此,手动更改 url:

git remote set-url --add origin https://github.com/eduncan911/eduncan911.github.io.git

然后您可以通过再次运行 git remote -v 来确认它是否有效:

C:\gd\code\octopress [source +2 ~3 -0 !]> git remote -v
octopress       https://github.com/imathis/octopress.git (fetch)
octopress       https://github.com/imathis/octopress.git (push)
origin  https://github.com/eduncan911/eduncan911.github.io.git (fetch)
origin  https://github.com/eduncan911/eduncan911.github.io.git (push)

这已经修复了我遇到的数十个 git repos、GitHub、BitBucket GitLab 等问题。


这对我有用。谢谢@eduncan911。 github 指令状态执行“git init”以在命令行上创建新存储库。这将使用该 PS 接口创建一个没有 URL 的源远程。
啊,是的,这是另一个问题,为什么你必须这样做。 +1 也许我们应该在 github 上将此报告给 POSH Git。
使用 gitlab 时如何找到 url?
@MennoGouw 我认为这是一个离题的问题;但是,通常它在回购的仪表板/主页上。它也在项目的设置中。
W
Wilmer E. Henao

在特殊情况下,您从用作模板的旧存储库开始创建新存储库(如果不是这种情况,请不要这样做)。完全擦除旧存储库的 git 文件,以便您可以启动一个新存储库:

rm -rf .git

然后像往常一样重新启动一个新的 git 存储库:

git init
git add whatever.wvr ("git add --all" if you want to add all files)
git commit -m "first commit"
git remote add origin git@github.com:ppreyer/first_app.git
git push -u origin master

S
Sriram

如果原点已经存在,则使用此命令更新原点

git remote set-url origin https://github.com/SriramUmapathy/ReduxLearning.git

谢谢。你为我节省了很多时间。
S
Samarth Shah

如果您需要检查与本地存储库连接的远程存储库,则有一个 cmd:

git remote -v

现在,如果您想删除远程仓库(例如,来源),那么您可以做的是:

git remote rm origin

这看起来更像是评论而不是答案。多一点代表,you will be able to post comments
@NathanTuggy 不,这是一个完整的答案,以我的拙见,比该线程上最受欢迎的答案更直接。
@daOnlyBG:我不确定当我看到答案时会是什么样子,因为那是在宽限期锁定评论之前(因此它可能已被静默编辑)。但现在,它相当完整,我同意。
@NathanTuggy 哇,从前不知道有无声编辑。这就解释了。
M
MrHanachoo

该错误消息表明您的 git 目录中已经有一个遥控器。如果您对该遥控器感到满意,您可以推送您的代码。如果没有,或者如果你不能只推:

git remote remove origin
git remote add origin git@github.com:ppreyer/first_app.git

瞧!


K
Kobayashi

remote 的概念就是您的远程存储库的 URL。

origin 是一个指向该 URL 的 别名。因此,不是每次我们想要将某些东西推送到我们的存储库时都编写整个 URL,我们只需使用这个别名并运行:

git push -u origin master

告诉 git push 我们的代码从我们的 本地 master 分支远程 origin 存储库

每当我们克隆一个存储库时,git 默认为我们创建这个别名。同样,每当我们创建一个新的存储库时,我们只是自己创建它。

无论是哪种情况,我们都可以随时将此名称更改为我们喜欢的任何名称,运行以下命令:

git remote rename [current-name] [new-name]

由于它存储在 git 应用程序的客户端(在我们的机器上),因此更改它不会影响我们开发过程中的任何内容,也不会影响我们的远程存储库。请记住,它只是一个指向地址的名称。

通过重命名别名在这里唯一改变的是,每次我们将某些东西推送到我们的存储库时,我们都必须声明这个新名称。

git push -u my-remote-alias master

显然一个名字不能指向两个不同的地址。这就是您收到此错误消息的原因。您的本地计算机上已有一个名为 origin 的别名。要查看您有多少别名以及它们是什么,您可以启动此命令:

git remote -v

这将显示您拥有的所有别名以及相应的 URL。

如果你喜欢运行它,你也可以删除它们:

git remote rm my-remote-alias

简而言之:

找出你已经拥有什么,

删除或重命名它们,

添加您的新别名。

快乐编码。


P
Pratik Dodiya

在远程推送代码时,我在 Bitbucket 中遇到问题

请按照以下步骤操作:

步骤 1:更新现有遥控器

git remote set-url origin https://pratik@bitbucket.org/pratik/demoapp.git

步骤 2:您可以使用此命令强制更改具有本地存储库的服务器。远程仓库代码将替换为您的本地仓库代码。

git push -f origin master

-f 通常,该命令拒绝更新不是用于覆盖它的本地引用的祖先的远程引用。


M
Micho

如果你已经为另一个存储添加了项目,比如你上传到 github,然后你上传到 bitbucket,那么它会显示这种类型的错误。

如何删除错误:删除项目中的 git-hub 文件,然后重复以下步骤...

git init       
git remote add origin git@bitbucket.org:Yourname/firstdemotry.git  
git add -A  
git commit -m 'Message'  
git push -u origin master  

F
Foram Sojitra

git remote add origin git@gitlab.com:abc/backend/abc.git 在这个命令中,origin 不是命令的一部分,它只是你的远程存储库的名称。您可以使用任何您想要的名称。首先,您可以使用以下命令检查它包含的内容 $ git remote -v 它会给您这样的结果 origin git@gitlab.com:abc/backend/abc.git (fetch) origin git@gitlab.com:abc/backend /abc.git (push) origin1 git@gitlab.com:abc/backend/abc.git (fetch) origin1 git@gitlab.com:abc/backend/abc.git (push) 如果它包含您的远程存储库路径,那么您如果它不包含您的远程存储库路径,则可以直接推送到该位置而无需再次添加源,那么您可以添加具有不同名称的新源并使用它来推送,例如 $ git remote add origin101 git@gitlab.com:abc/backend/abc。 git 或者您可以重命名现有的原始名称添加您的原始 git remote rename origin destination fire 下面的命令再次 $ git remote -v destination git@gitlab.com:abc/backend/abc.git (fetch) destination git@gitlab.com:abc /backend/abc.git (push) 它将更改您现有的存储库名称,以便您可以使用该来源名称或者您可以删除现有来源并添加您的来源 git remote rm de车站

首先,您可以使用以下命令检查它包含的内容

如果它不包含您的远程存储库路径


J
Jan Pi

如果您在未初始化 git 的目录中运行命令,也会发生这种情况。如果是这种情况,请先运行:

git init

a
akshay_sushir

在 Windows 上使用 git bash 将存储库添加到 git hun 时遇到同样的错误

 git remote add origin https://github.com/axaysushir/netflix_page_clone.git

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

fatal: remote origin already exists.

 ! [rejected]        master -> master (fetch first)

错误:未能将一些引用推送到“https://github.com/axaysushir/meditation_app_using_js.git

通过以下命令更新存储库

$ git remote set-url origin https://github.com/axaysushir/netflix_page_clone.git

然后使用 git remote add github 添加存储库,而不是 git remote add origin

$ git remote add github https://github.com/axaysushir/netflix_page_clone.git

然后编写以下命令而不是 git push origin master 这会将您的存储库上传到 github

$ git push github master

k
karan

使用 git 你必须是

如果没有,那么使用 sudo

删除原点: git remote remove origin

添加原点:

git 远程添加原点 http://giturl


S
Sreeraj VR

尝试这个

cd existing_repo

git remote rename origin old-origin


兄弟,谢谢,这是唯一对我有用的东西。
A
Ankit

请将“git remote add origin git@github.com”中的“add”替换为 git remote set-url origin git@github.com 中的“set-url”


S
Sarthak Dalabehera

首先检查要查看您有多少别名以及它们是什么,您可以启动此命令 git remote -v

然后查看您在哪个存储库中,然后尝试 git remote set-url --add [Then your repositpory link] git push -u origin master


m
motia

至少在 bash 上,我们可以强制命令的退出代码的返回值为 0

您可以删除旧遥控器并重新添加

git remote remove $1 || true
git remote add $1 $2

i
inspiredMichael

如果您想通过 GUI 执行以下操作:

确保“隐藏文件”在您的项目文件夹中可见 转到 .git 目录 编辑 config.txt 文件中的 url 文件并保存文件!


p
prisa

不要注意错误并写下:

git push -u 原点主


N
Nazmul Hoque

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

rm -rf .git/