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

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

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

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


当前回答

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

其他回答

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

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

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

这工作:

git remote rm origin
git remote add origin git@github.com:username/myapp.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 remote remove origin

然后使用你的命令

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

如果您不想删除现有的远程记录,请更新它

git remote set-url <REMOTE-NAME> <NEW-URL>

然后使用你的命令

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

如果要重命名现有项目,请使用以下命令

git remote rename <old-name> <new-name>

如果要将原始远程重命名为backup。你只需运行:

git remote rename origin backup

谢谢你! !

我在远程推送代码时,在Bitbucket中面临问题

遵循以下步骤:

步骤1:更新现有的远程

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

步骤2:您可以使用此命令强制使用本地存储库对服务器进行更改。远程回购代码将被本地回购代码取代。

git push -f origin master

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