我正在尝试按照 Michael Hartl's Rails tutorial 进行操作,但遇到了错误。
我在 Github 上注册并发布了一个新的 SSH 密钥并创建了一个新的存储库。但是当我在终端中输入下一行时,出现以下错误:
Parkers-MacBook-Pro:.ssh ppreyer$ git remote add origin git@github.com:ppreyer/first_app.git
fatal: remote origin already exists.
只是想知道是否有其他人遇到过这个问题?
.git/config
文件以查看是否尚未声明 origin。
TL;DR 你应该只更新现有的遥控器:
$ 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
但请记住,在教程中您看到 "origin" 的任何地方都应该将其替换为 "github"。例如 $ git push origin master
现在应该是 $ git push github master
。
但是,如果您想查看已经存在的 origin
是什么,您可以执行 $ 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
工作!
干杯!
首先做一个:
git remote rm origin
然后
git remote add origin https://github.com/your_user/your_app.git
瞧!为我工作!
您可以查看配置为通过哪些远程存储库连接到
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
然后,您应该能够继续您的教程。
对于那些遇到非常常见的错误“致命:远程原点已经存在。”,或者当尝试删除原点并且您收到“错误:无法删除配置部分 remote.origin”时,您需要做的是手动设置原点。
Window 的 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:
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 等问题。
在特殊情况下,您从用作模板的旧存储库开始创建新存储库(如果不是这种情况,请不要这样做)。完全擦除旧存储库的 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 remote set-url origin https://github.com/SriramUmapathy/ReduxLearning.git
如果您需要检查与本地存储库连接的远程存储库,则有一个 cmd:
git remote -v
现在,如果您想删除远程仓库(例如,来源),那么您可以做的是:
git remote rm origin
该错误消息表明您的 git 目录中已经有一个遥控器。如果您对该遥控器感到满意,您可以推送您的代码。如果没有,或者如果你不能只推:
git remote remove origin
git remote add origin git@github.com:ppreyer/first_app.git
瞧!
remote
的概念就是您的远程存储库的 URL。
origin
是一个指向该 URL 的 别名。因此,不是每次我们想要将某些东西推送到我们的存储库时都编写整个 URL,我们只需使用这个别名并运行:
git push -u origin master
告诉 git push
我们的代码从我们的 本地 master 分支 到 远程 origin 存储库。
每当我们克隆一个存储库时,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
简而言之:
找出你已经拥有什么,
删除或重命名它们,
添加您的新别名。
快乐编码。
在远程推送代码时,我在 Bitbucket 中遇到问题
请按照以下步骤操作:
步骤 1:更新现有遥控器
git remote set-url origin https://pratik@bitbucket.org/pratik/demoapp.git
步骤 2:您可以使用此命令强制更改具有本地存储库的服务器。远程仓库代码将替换为您的本地仓库代码。
git push -f origin master
-f
通常,该命令拒绝更新不是用于覆盖它的本地引用的祖先的远程引用。
如果你已经为另一个存储添加了项目,比如你上传到 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 remote add origin git@gitlab.com:abc/backend/abc.git 在这个命令中,origin 不是命令的一部分,它只是你的远程存储库的名称。您可以使用任何您想要的名称。首先,您可以使用以下命令检查它包含的内容 $ git remote -v 它会给您这样的结果 origin git@gitlab.com:abc/backend/abc.git (fetch) origin git@gitlab.com:abc/backend /abc.git (push) origin1 git@gitlab.com:abc/backend/abc.git (fetch) origin1 git@gitlab.com:abc/backend/abc.git (push) 如果它包含您的远程存储库路径,那么您如果它不包含您的远程存储库路径,则可以直接推送到该位置而无需再次添加源,那么您可以添加具有不同名称的新源并使用它来推送,例如 $ git remote add origin101 git@gitlab.com:abc/backend/abc。 git 或者您可以重命名现有的原始名称添加您的原始 git remote rename origin destination fire 下面的命令再次 $ git remote -v destination git@gitlab.com:abc/backend/abc.git (fetch) destination git@gitlab.com:abc /backend/abc.git (push) 它将更改您现有的存储库名称,以便您可以使用该来源名称或者您可以删除现有来源并添加您的来源 git remote rm de车站
首先,您可以使用以下命令检查它包含的内容
如果它不包含您的远程存储库路径
如果您在未初始化 git 的目录中运行命令,也会发生这种情况。如果是这种情况,请先运行:
git init
在 Windows 上使用 git bash 将存储库添加到 git hun 时遇到同样的错误
git remote add origin https://github.com/axaysushir/netflix_page_clone.git
致命:远程来源已经存在。
fatal: remote origin already exists.
! [rejected] master -> master (fetch first)
错误:未能将一些引用推送到“https://github.com/axaysushir/meditation_app_using_js.git”
通过以下命令更新存储库
$ git remote set-url origin https://github.com/axaysushir/netflix_page_clone.git
然后使用 git remote add github 添加存储库,而不是 git remote add origin
$ git remote add github https://github.com/axaysushir/netflix_page_clone.git
然后编写以下命令而不是 git push origin master 这会将您的存储库上传到 github
$ git push github master
尝试这个
cd existing_repo
git remote rename origin old-origin
请将“git remote add origin git@github.com”中的“add”替换为 git remote set-url origin git@github.com 中的“set-url”
首先检查要查看您有多少别名以及它们是什么,您可以启动此命令 git remote -v
然后查看您在哪个存储库中,然后尝试 git remote set-url --add [Then your repositpory link] git push -u origin master
至少在 bash 上,我们可以强制命令的退出代码的返回值为 0
您可以删除旧遥控器并重新添加
git remote remove $1 || true
git remote add $1 $2
如果您想通过 GUI 执行以下操作:
确保“隐藏文件”在您的项目文件夹中可见 转到 .git 目录 编辑 config.txt 文件中的 url 文件并保存文件!
不要注意错误并写下:
git push -u 原点主
试试这个对我有用的命令。
rm -rf .git/
git remote -v
输出什么?另外,你能试试git push origin master
吗?git remote rm origin
不太奏效。它产生 error: Could not remove config section 'remote.origin'git remote set-url --add origin git@github.com/username/repo.git