我试图按照迈克尔哈特尔的Rails教程,但我遇到了一个错误。
我在GitHub注册了,发放了一个新的SSH密钥,并创建了一个新的存储库。但是当我在终端中输入下一行时,我得到了以下错误:
Parkers-MacBook-Pro:.ssh ppreyer$ git remote add origin git@github.com:ppreyer/first_app.git
fatal: remote origin already exists.
只是想知道是否有人遇到过这个问题?
我试图按照迈克尔哈特尔的Rails教程,但我遇到了一个错误。
我在GitHub注册了,发放了一个新的SSH密钥,并创建了一个新的存储库。但是当我在终端中输入下一行时,我得到了以下错误:
Parkers-MacBook-Pro:.ssh ppreyer$ git remote add origin git@github.com:ppreyer/first_app.git
fatal: remote origin already exists.
只是想知道是否有人遇到过这个问题?
当前回答
如果你想通过GUI做以下事情:
确保“隐藏文件”在项目文件夹中可见 进入“。git”目录 编辑config.txt文件中的url文件并保存该文件!
其他回答
试试这个
cd existing_repo Git远程重命名原点old-origin
在特殊情况下,您正在从用作模板的旧存储库开始创建新的存储库(如果不是您的情况,请不要这样做)。完全擦除旧存储库的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
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
简而言之:
看看你已经有了什么, 删除或重命名它们, 添加您的新别名。
快乐的编码。
您可以看到配置为通过哪些远程存储库连接
git remote -v
将返回如下格式的列表:
origin git@github.com:github/git-reference.git (fetch)
origin git@github.com:github/git-reference.git (push)
这可能会帮助你弄清楚最初的“原点”指的是什么。
如果你想保留你用-v看到的远程连接,但仍然想遵循Rails教程,而不必记住'github'(或其他一些名称)用于教程的repo,你可以使用命令重命名你的其他存储库:
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
瞧!为我工作!