我试图按照迈克尔哈特尔的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.
只是想知道是否有人遇到过这个问题?
当前回答
短版:
您只需更新现有的远程:
$ 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的情况下在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 remote set-url origin https://username:PERSONAL_ACCESS_TOKEN@github.com:ppreyer/first_app.git
git push -u origin main
你可以在github上使用以下步骤生成个人访问令牌:
转到设置 点击开发者设置 单击Generate new token 生成您的个人访问令牌并将其粘贴到上面的命令上。:)
请将“git remote add origin git@github.com”中的“add”替换为“git remote set-url origin git@github.com”中的“set-url
您可以看到配置为通过哪些远程存储库连接
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
然后您应该能够继续您的教程。