git push heroku origin~damal:没有指定路径

时间:2016-02-13 09:04:02

标签: git heroku

我正在学习本教程https://www.railstutorial.org/book/static_pages#sec-sample_app_setup,并成功完成了所有步骤(git commit和push on github,heroku login和heroku app creation),直到这个命令:

$ 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/*

3 个答案:

答案 0 :(得分: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时,应该没有与无效路径网址相关的错误。

答案 1 :(得分:0)

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

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

答案 2 :(得分:-1)

您是否已在heroku上创建应用程序? $ heroku创建#some-name-you-choose

您是否已转到您的heroku帐户并检查路径是否已创建?