我试图按照迈克尔哈特尔的Rails教程,但我遇到了一个错误。

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

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

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


当前回答

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

您可以删除旧的远程并重新添加它

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

其他回答

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

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

Rm -rf .git/

对于那些遇到非常常见的错误“fatal: remote origin already exists.”,或者当试图删除origin时得到“error: could not remove config section remote.”原点”,你需要做的就是手动设置原点。

Windows的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。任何删除它、重命名它的尝试都失败了。

因此,手动更改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)

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

为了使用git,你必须

如果没有,那就用sudo

去除原点: Git远程删除原点

添加原点:

Git远程添加origin http://giturl

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

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

Git push -u origin master

告诉git将我们的代码从本地主分支推到远程源存储库。

每当我们克隆一个存储库时,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

简而言之:

看看你已经有了什么, 删除或重命名它们, 添加您的新别名。

快乐的编码。