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

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

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

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


当前回答

如果你已经为另一个存储添加了项目,比如你上传到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  

其他回答

如果在没有初始化git的情况下在directory中运行命令,也会发生这种情况。如果是这种情况,首先运行:

git init

短版:

您只需更新现有的远程:

$ 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

记住,尽管在教程中你看到“起源”,你应该把它换成“github”。例如$ git push origin master现在应该是$ git push github master。

但是,如果你想查看已经存在的原始远程是什么,你可以执行$ git remote -v。如果你认为这是由于一些错误,你可以这样更新它:

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

在特殊情况下,您正在从用作模板的旧存储库开始创建新的存储库(如果不是您的情况,请不要这样做)。完全擦除旧存储库的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

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

git remote remove origin
git remote add origin git@github.com:ppreyer/first_app.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等。