【问题标题】:git push heroku origin ~ fatal: No path specifiedgit push heroku origin ~ 致命:未指定路径
【发布时间】:2016-05-24 12:18:20
【问题描述】:

我正在遵循本教程https://www.railstutorial.org/book/static_pages#sec-sample_app_setup 并成功完成了所有步骤(git 提交和在 github 上推送、heroku 登录和 heroku 应用程序创建),直到这个命令:

$ git push heroku master

我也试过了:

$ git push heroku origin
$ git push heroku

它导致了这个错误:

> fatal: No path specified. See 'man git-pull' for valid url syntax

我试图通过关注this answer 来解决它,但它对我不起作用。

在我尝试了最佳答案的建议后,这是我在 .git 中的配置文件:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = https://github.com/kunokdev/sample_app.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[remote "heroku"]
    url = https://git.heroku.com/test774.git
    fetch = +refs/heads/*:refs/remotes/heroku/*

任何想法是什么问题?我使用的是 Ubuntu 14.04 操作系统。

$ git config --list | grep heroku

url.ssh://git@heroku.com.insteadof=https://git.heroku.com/
remote.heroku.url=https://git.heroku.com/test774.git
remote.heroku.fetch=+refs/heads/*:refs/remotes/heroku/*

【问题讨论】:

  • 试试“git push heroku master”
  • @AkramFares 同样的错误。
  • 这个命令“git fetch --all --tags”返回什么?
  • @AkramFares 输出:Fetching heroku NEXT LINE fatal: No path specified. See 'man git-pull' for valid url syntax NEXT LINE error: Could not fetch heroku NEXT LINE Fetching origin
  • "致命:未指定路径。请参阅 'man git-pull' 了解有效的 url 语法" 这告诉您 git-pull 失败。要缩小问题范围,请尝试从命令行执行 git pull master,查看它是否在本地失败。请注意:“由于 pull 会对检索到的更改执行合并,因此您应该确保在运行 pull 命令之前提交本地工作。”

标签: git heroku


【解决方案1】:

我设法解决了这个问题,所以我在这里分享解决方案。所以这些是从 0 到部署的步骤:

$ cd path/to/dir
$ git init
$ git add -A
$ git commit -m "Initialized"
$ heroku login
$ heroku create appname
$ heroku git:remote -a appname
$ git remote -v

至此,我们可以看出问题所在。由于某种奇怪的原因,heroku 生成了无效的 URL。正如您在输出中看到的那样:(注意:我使用kunokdev 作为应用名称)

heroku  ssh://git@heroku.comkunokdev.git (fetch)
heroku  ssh://git@heroku.comkunokdev.git (push)
origin  https://github.com/kunokdev/kunokdev.git (fetch)
origin  https://github.com/kunokdev/kunokdev.git (push)

你看到前两行了吗?它有 ...heroku.comkunokdev.git 而不是 heroku.com/kunokdev.git 正如 Ruby On Rails 小组中的一位好人所建议的那样;为了解决这个问题,我需要删除遥控器并添加修改过的一个,如下所示:

$ git remote rm heroku
$ git remote add heroku ssh://git@heroku.com/kunokdev.git

此时,当您使用$ git push heroku master 时,应该不会出现与无效路径 url 相关的错误。

【讨论】:

  • 真的应该使用 git remote set-url。而不是添加和删除
【解决方案2】:

相当明显,但您可以跳过这一行。

heroku git:remote -a appname

然后做你在这里所做的。

git remote add heroku ssh://git@heroku.com/kunokdev.git

git remote add name_of_remote 是一个标准的 git 命令,所以不需要使用 heroku CLI。

git push 的约定是

git push name_of_remote_repo name_of_local_branch

如果您要学习 Rails 开发,不妨阅读一些有关 GIT 的基本阅读或课程。您可以在几小时内学习基础知识。 https://www.codeschool.com/courses/try-git

【讨论】:

    【解决方案3】:

    您是否执行了在 heroku 创建应用程序的步骤? $ heroku create #some-name-you-choose

    你有没有去你的 heroku 帐户检查路径是否已创建?

    【讨论】:

    • 是的,我都成功了。
    猜你喜欢
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    • 2012-04-21
    • 2021-04-13
    • 1970-01-01
    相关资源
    最近更新 更多