git push >> 致命错误:未配置推送目的地

70

我仍在学习RoR指南,现在在部署演示应用这里遇到了问题。

我按照以下说明进行操作:

随着Microposts资源的完成,现在是将存储库推送到GitHub的好时机:

$ git add .
$ git commit -a -m "Done with the demo app"
$ git push
这里出了问题的是 push 部分,它输出了以下内容:
$ git push
fatal: No configured push destination.
Either specify the URL from the command-line or configure a remote repository using
git remote add <name> <url>
git push <name>

所以我尝试按照指示执行此命令:

$ git remote add demo_app 'www.github.com/levelone/demo_app'
fatal: remote demo_app already exists.

所以我进行推送:

$ git push demo_app
fatal: 'www.github.com/levelone/demo_app' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

我能在这里做什么?非常感谢任何帮助。


2
非常好的问题。大多数教程似乎都缺少一两个步骤,使得无法推送更改。 - Kokodoko
2
我遇到了相同的错误,后来发现这是一个目录相关问题。我没有从正确的目录推送,即存储库所在的目录。 - MYB
9个回答

59
你正在参考此“Ruby on Rails教程"中的“2.3.5 部署演示应用程序”部分: 在2.3.1 规划应用程序部分,请注意他们所做的事情:
$ git remote add origin git@github.com:<username>/demo_app.git
$ git push -u origin master

这就是为什么使用一个ssh地址时,一个简单的git push就可以工作。
你跟着这个步骤并完成了第一次push操作吗?

 www.github.com/levelone/demo_app

这不是一个可写的URI,不能用于将内容推送到GitHub存储库。

https://levelone@github.com/levelone/demo_app.git

这应该会更合适。
检查一下git remote -v的返回结果,如果需要替换远程地址,就像GitHub帮助页面所描述的那样,使用git remote --set-url

git remote set-url origin https://levelone@github.com/levelone/demo_app.git
# or 
git remote set-url origin git@github.com:levelone/demo_app.git

第一个链接没有改变我的推送输出.. 我很好奇如何设置我的<login_internet>,<password_internet>,@aproxy,aport... 我有点迷失 :( 对此感到抱歉。希望我不会因为寻求您的帮助而打扰您.. - levelone
@Marc:只有在通过代理访问互联网时,你才需要进行设置。 - VonC
尝试克隆它,但目标路径“演示应用程序”已存在且不为空目录。 - levelone
我找到了另一个解决方案...我刚刚从头开始重新制作了整个demo_app。在10分钟内一切顺利:P哈哈,谢谢你的帮助@VonC :) - levelone
我在使用Bitbucket时,执行以下命令: git remote add abc-blog 'git@bitbucket.org:sooraz/abc-blog.git'但是出现了“fatal: remote abc-blog already exists”错误,导致无法推送。 - Suraj
显示剩余7条评论

40

命令(或其中的URL)将 Github 仓库添加为远程仓库并不完全正确。如果我正确理解了您的仓库名称,应该是:

git remote add demo_app 'git@github.com:levelone/demo_app.git'

在执行完这个操作后,我一直遇到以下错误:git@github.com: Permission denied (publickey) - alper
那是因为它是一个私有仓库。 - desert_ranger

6

我遇到了这个错误,之前我将文件推送到了根目录,现在我想要推送到其他目录,为了解决这个错误,我需要运行以下命令

我之前在根目录下进行了推送,现在我想在另一个目录下进行推送,因此出现了这个错误。为了解决这个问题,我需要执行以下命令。

git add .
git commit -m "some comments"
git push --set-upstream origin master

1
如果您正在使用cmd使用git命令
git remote add origin git@github.com:<username>/demo_app.git

你可以从你当前正在工作的代码的仓库中复制它的 https 代码。

之后运行此命令。

git push

这对我有用。


0

以下是我如何解决相同的问题:

  1. 创建代码库

  2. 使用git命令将分支命名为main

  3. 使用git命令将更改推送到远程代码库


0

我遇到了同样的问题

如果你在使用 VS Code,可以点击菜单按钮,然后选择“推送”、“拉取”,再滚动到“推送到”选项。


0
这件事发生在我使用Visual Studio Code和Github时。我意识到由于某些原因,上游分支为空,因此推送不知道要推送到哪里。使用“同步”解决了这个问题。

"Sync" 是什么? - Tyler A.

0

通过VS-Code:

  1. git add .
  2. git commit -m "一些注释"
  3. git remote add origin git@github.com:yourusername/yourrepository.git
  4. git push --set-upstream origin master

0

我已经遇到了这个错误。我创建了一个Github仓库,复制了仓库的URL,并运行了以下命令。

git remote add service-center-app 'https://github.com/DeveloperAsela/service-centerapp.git'

这正是已经“被接受的答案”所说的。 - Asif Kamran Malick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接