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

我正在尝试遵循Michael Hartl的Rails教程,但是我遇到了一个错误。

我注册了Github并发布了一个新的SSH密钥,并创build了一个新的存储库。 但是当我进入terminal的下一行时,我得到以下错误:

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

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

TL; DR你应该更新现有的远程:

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

长版本:

如错误消息所示,已经有一个configuration了相同名称的远程服务器。 因此,您可以使用不同的名称添加新的远程设备,或者在不需要的情况下更新现有设备。

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

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

请记住,在教程中的任何地方你都可以看到“起源”,你应该用“github”replace它。 例如$ git push origin master现在应该是$ git push github master

但是,如果你想看看那个已经存在的东西,你可以做一个$ git remote -v 。 如果你认为这有一些错误,你可以像这样更新它:

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

简而言之,

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

工作!

干杯!

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

Windows的PowerShell(和Windows的应用程序的GitHub)的窗口的POSH〜Git有这个问题。

我遇到了这个问题,就像我经常这样做,再次build立我的八爪鱼。 所以,这是我如何工作。

首先,检查你的遥控器:

 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) 

这已经修复了几十个我曾经遇到的Git Repos,GitHub,BitBucket GitLab等等。

你可以看到你configuration连接到的远程仓库

 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 

你应该能够恢复你的教程。

先做一个:

 git remote rm origin 

然后

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

瞧! 为我工作!

在特殊情况下,您正在创build一个新的存储库,从您用作模板的旧存储库开始(如果这不是您的情况,请不要这样做)。 彻底清除旧版本库的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 

如果您需要检查您使用本地回购站连接了哪个远程回购站,则需要cmd:

 git remote -v 

现在,如果你想删除远程回购(说,起源),那么你可以做的是:

 git remote rm origin 

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

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

git push -u origin master

告诉push我们的代码从我们的本地分支 push送到远程的存储库

每当我们克隆一个仓库git默认为我们创build这个别名。 而且,无论何时我们创build一个新的存储库 ,我们只是创build它自己。

不pipe是什么情况,我们总是可以把这个名字改成我们喜欢的任何东西,运行这个:

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

由于它存储在git应用程序的客户端(在我们的机器上),所以在我们的远程仓库中,不会影响我们开发过程中的任何事情。 请记住,它只是一个指向地址名字

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

git push -u my-remote-alias master

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

 git remote -v 

这将显示你所有的别名,加上相应的URL。

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

 git remote rm my-remote-alias 

简而言之:

  • 找出你有什么,
  • 删除或重命名它们,
  • 添加你的新别名。

快乐的编码。

这个错误信息表明你已经在你的git目录中有一个远程。 如果你对这个遥控器感到满意,你可以推动你的代码。 如果不是,或者你不能推:

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

Voilà!

如果你在没有初始化git的目录下运行命令,也会发生这种情况。 如果是这样的话,请先运行:

 git init 

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

如果没有,那么使用sudo

去除原点:

git远程删除起源

添加来源:

git远程添加源http:// giturl