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