質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.39%

  • Python 3.x

    2383questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Git

    869questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • Django

    550questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

  • Heroku

    451questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

git push heroku master でエラー

解決済

回答 1

投稿 2017/11/22 16:05

  • 評価
  • クリップ 0
  • VIEW 106

yukiko

score 25

環境はwin7の64bitです。

Django Girls TutorialでWEBアプリの作成を練習中です。
https://djangogirlsjapan.gitbooks.io/workshop_tutorialjp/content/

作ったものをHerokuにデプロイするところでうまくいきません。
https://djangogirlsjapan.gitbooks.io/workshop_tutorialjp/content/deploy/

(一部伏せ字:powershellが返しているメッセージ)

(myvenv) PS C:\Users\XXXXXX\djangogirls> git push heroku master
fatal: 'heroku' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

1回目、練習していてデプロイのところでうまくいかず、ネットでググっていろいろやっていたのですが、結局わからなかったので、最初からやり直しています(すみません、その時はなんのエラーだったか、やりすぎてもうわけがわからなくなりました;;)。
1回目はコードを見ながら手打ちしていたのですが、タイプミスとかあるのかもと、今回はサイトのコードをコピペしています。

心当たりは、Herokuのアカウントは1回目のときに取っているので、今回は何もしていないこと、アプリケーション名を、
heroku rename xxblog --app xxxxblog
で1回目とは変えていること。

何をどう直せば先にすすめるのか、途方に暮れています。
ヒントがありましたら、よろしくご教授ください。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • mkgrei

    2017/11/24 16:42

    正しいコマンドは;heroku apps:info xxblog

    キャンセル

  • yukiko

    2017/11/24 17:18

    あああ、そうだったんですね(汗)。わかんなくなって、とりあえず何もかも初期化しようと、heroku apps:destroy --app xxblogしちゃいました;;

    キャンセル

  • mkgrei

    2017/11/24 17:23

    それならheroku側のレポジトリも消えるようなので、チュートリアルどおりやれば問題ないはずです。削除のタイミングがわからないのですが、heroku create xxblogもできるはずです。

    キャンセル

回答 1

checkベストアンサー

+1

remoteのURLを確認してみたり、
heroku createを忘れていたり…
こことか

ここが一番関連ありそう

投稿 2017/11/22 16:18

編集 2017/11/22 16:22

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/22 16:28

    git remoteしても、何も返して来ないというのは、heroku createができていないということなのでしょうか?

    heroku create xxblogしてみたのですが、Name is already takenと出てくるので、create はされているのかなという気がしているのですが…。
    (すみません、gitもherokuも今回、チュートリアルサイトで初めて触っているので、基本がさっぱりわかっていないです;;)

    キャンセル

  • 2017/11/22 16:39

    https://qiita.com/ka_/items/2ad2826329abeb49dfa2
    ここを参考にするのが一番良いかと思います。

    heroku create xxblogするとhttps://git.heroku.com/xxblog.gitのGitレポジトリができるはずです。
    本来であれば、このリモートレポジトリは手元のレポジトリと関連付けられてチュートリアル通り問題なく進められるはずです。

    しかし、今は以前に作成したレポジトリにプッシュしようとしています。
    一度作成すると削除しない限り同じ名前は取れないので、heroku create xxblogができません。
    そこで、いまhttps://git.heroku.com/xxblog.gitというリモートレポジトリがもうすでにあって、そこにリンクする方法について考えねばなりません。

    heroku git:remote --app xxblogを実行すればよいらしいです。
    これによって、git push origin masterもしくはgit push heroku masterのどちらかでプッシュできるようになるはずです。

    キャンセル

  • 2017/11/22 17:05

    とりあえずheroku git:remote --app xxblogを実行してみました。


    (myvenv) PS C:\Users\xxxxxx\djangogirls> heroku git:remote --app xxblog
    set git remote heroku to https://git.heroku.com/xxblog.git
    (myvenv) PS C:\Users\xxxxxx\djangogirls> git push heroku master
    To https://git.heroku.com/xxblog.git
    ! [rejected] master -> master (fetch first)
    error: failed to push some refs to 'https://git.heroku.com/xxblog.git'
    hint: Updates were rejected because the remote contains work that you do
    hint: not have locally. This is usually caused by another repository pushing
    hint: to the same ref. You may want to first integrate the remote changes
    hint: (e.g., 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.


    何かがまだ気に入らないようです。参考URLありがとうございます。読みながら引き続き手がかりを探してみます。

    キャンセル

  • 2017/11/22 17:09

    これは前回プッシュに成功した内容がすでにリモートにあることから起きる問題です。

    このような場合では一度プルをしてつじつまを合わせないといけません。
    https://www.softel.co.jp/blogs/tech/archives/3569
    https://www.backlog.jp/git-guide/pull-request/pull-request3_2.html
    https://qiita.com/osamu1203/items/cb94ef9da02e1ec3e921

    キャンセル

  • 2017/11/22 17:47

    たびたびありがとうございますm(_ _)m

    git pullをした結果です↓。

    No remote repository specified. Please, specify either a URL or a remote name from which new revisions should be fetched.

    調べていたら、リモートリポジトリ名を入れないといけないという情報を見たので、git pull herokuで実行したところ、pull自体はうまくいったっぽいです。


    warning: no common commits
    remote: Counting objects: 20, done.
    remote: Compressing objects: 100% (17/17), done.
    remote: Total 20 (delta 0), reused 0 (delta 0)
    Unpacking objects: 100% (20/20), done.
    From https://git.heroku.com/xxblog
    * [new branch] master -> heroku/master
    You asked to pull from the remote 'heroku', but did not specify
    a branch. Because this is not the default configured remote
    for your current branch, you must specify a branch on the command line.


    その後、git push heroku masterをやってみました。


    To https://git.heroku.com/xxblog.git
    ! [rejected] master -> master (non-fast-forward)
    error: failed to push some refs to 'https://git.heroku.com/xxblog.git'
    hint: Updates were rejected because the tip of your current branch is behind
    hint: its remote counterpart. Integrate the remote changes (e.g.
    hint: 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.


    恥ずかしながら、リポジトリって美味しいの?というレベルなので、このへんのサイトを今読んだところです。
    https://www.backlog.jp/git-guide/intro/intro1_2.html

    最初のエラーとは少し違うようなので、引き続き調べてみます。

    キャンセル

  • 2017/11/22 18:01

    おそらくpullが想定外の動きをしたようです。
    git pull heroku master
    をしてから、(コンフリクトがあれば修正して、)
    git commit -am 'merge'
    そして
    git push heroku master
    かと。

    キャンセル

  • 2017/11/22 18:12

    git pull heroku masterしてみました。


    (myvenv) PS C:\Users\xxxxxx\djangogirls> git pull heroku master
    From https://git.heroku.com/xxblog
    * branch master -> FETCH_HEAD
    fatal: refusing to merge unrelated histories


    1回目でいろいろやってるときに、環境等壊したのかなと思ったので、「djangogirls」フォルダ自体を削除して2回目をやっているのですが、今回も何か途中で破壊しちゃってるんでしょうかね;;サイトの指示通りにやっているつもりなんですが…。

    ほんとに申し訳ありません。情けないです。
    自宅のPC環境でも試してみようと思います。

    キャンセル

  • 2017/11/22 18:42

    そのトラブルはここを参考にすると良いです。
    https://qiita.com/takanatsu/items/fc89de9bd11148da1438

    gitとherokuの厳しいトラブルに巻き込まれている最中です。
    これを解決できれば、かなりのgitのトラブルの対処ができるようになります。

    ほんとうはheroku createと名前を指定せずに実行するとトラブルは起きません。
    別の名前を指定することをよいかと。
    チュートリアルを完遂することを優先するのであれば、これが最善の選択肢です。

    別の混乱が起きる可能性が高いですが、
    http://tyoshikawa1106.hatenablog.com/entry/2016/01/13/205225
    herokuにあるレポジトリを手元に持って来てから、チュートリアルの手順をgitの記録を追いながら再開する方法もあります。
    この選択肢では、1番最初の時になぜデプロイできなかったのかを解決しなければならないという困難が待ち受けています。

    困難をなかったことにするには一度git rmを使って、管理中のファイルを全て削除してしまって、最初からやり直す(git init済み)選択肢もあります。

    キャンセル

  • 2017/11/23 17:53

    何度もありがとうございます。

    自宅のPC(会社と違うところはwin10なだけ)で試してみているのですが、今度はどうもGitがインストールされないっぽい;;
    会社で躓いた以前のところで先に進めない状態です。

    デプロイのページの↓
    https://djangogirlsjapan.gitbooks.io/workshop_tutorialjp/content/deploy/
    「Heroku toolbelt をインストール」というところでGitなるものが入るのかなと思っているのですが、違うのでしょうかね。

    $ heroku login
    まではできるのですが、
    $ git init
    しても、powershellから返ってくるメッセージは下記の通り。

    git : 用語 'git' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。
    名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください

    発生場所 行:1 文字:1
    + git init
    + ~~~
    + CategoryInfo : ObjectNotFound: (git:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


    setx PATH "%PATH%;C:\Program Files\Git\bin"はやっているのですが、そもそも確認したら、C:\Program Filesの中にGitというフォルダはありません。

    多分、黒い画面の使い方も、調べながらやっている状態なので、おかしなことしたのかなと、作業を振り返ってみるのですが、心当たりがありません。

    明日、会社の環境で再挑戦しようと思います。
    環境をまっさらにしてからやったらどうかなと思ったのですが、そのやり方もわからずだったので、git rmの情報、大変ありがたいです。ありがとうございます。

    多分あまりに初心者すぎて…というところだと思うので、昨日の帰りにpythonエンジニアスタートブックなる本を買ってみました。

    キャンセル

  • 2017/11/23 18:15

    一応、思い出したことを…。

    デプロイのページに

    「WindowsでHeroku toolbelt をインストールする方は、インストールするコンポーネントを選択する際に"Custom Installation" を選択してください。コンポーネントを選択すると、さらにチェックボックスがありますので、"Git and SSH"にチェックを入れて下さい。」

    と書いてあるのですが、バージョンが上がったのか、Custom Installationという選択肢はなかったので、Git and SSHにチェックを入れることもできず、そのままインストしています。
    ただ、これは会社でも同じだったので、ここが原因とは思えません。

    キャンセル

  • 2017/11/24 17:47

    自宅PCにGitがなくてうまくいかなかった理由は判明しました(多分)。

    Djangogirlsの日本語サイトでは、デプロイのページに、特段、Gitを別途インストールが必要とは書いていなかったのですが(というか、Heroku toolbelt をインストするときに、Custom Installationで同時インストできる時期があったのかも)、英語ページを見たら、Gitをインストするように書いてありました。
    (英語あまりわからないですが…)

    よくよく思い出してみると、会社PCのGitは更新日が今年5月になっていて、なんのためにインストしたかも思い出せないのですが、インストして放置してたので、もともと存在していた…という顛末でしたm(_ _)m。


    再度仕切り直しと言うことで、herokuを初期化して、実行してみましたが;;……


    (myvenv) PS C:\Users\xxxxxx\djangogirls> git status
    On branch master
    nothing to commit, working tree clean


    (myvenv) PS C:\Users\xxxxxx\djangogirls> git add -A .
    (myvenv) PS C:\Users\xxxxxx\djangogirls> git commit -m "My Django Girls app"
    On branch master
    nothing to commit, working tree clean


    (myvenv) PS C:\Users\xxxxxx\djangogirls> heroku create
    Creating app... done, shielded-inlet-46178
    https://shielded-inlet-46178.herokuapp.com/ | https://git.heroku.com/shielded-in
    let-46178.git


    (myvenv) PS C:\Users\xxxxxx\djangogirls> git push heroku master
    Counting objects: 20, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (17/17), done.
    Writing objects: 100% (20/20), 4.57 KiB | 0 bytes/s, done.
    Total 20 (delta 0), reused 0 (delta 0)
    remote: Compressing source files... done.
    remote: Building source:
    remote:
    remote: -----> Python app detected
    remote: ! The latest version of Python 3 is python-3.6.3 (you are using ÿþp
    ython-3.6.3, which is unsupported).
    remote: ! We recommend upgrading by specifying the latest version (python-3
    .6.3).
    remote: Learn More: https://devcenter.heroku.com/articles/python-runtimes

    remote: -----> Installing ÿþpython-3.6.3
    remote: ! Requested runtime (ÿþpython-3.6.3) is not available for this stac
    k (heroku-16).
    remote: ! Aborting. More info: https://devcenter.heroku.com/articles/pytho
    n-support
    remote: ! Push rejected, failed to compile Python app.
    remote:
    remote: ! Push failed
    remote: Verifying deploy...
    remote:
    remote: ! Push rejected to shielded-inlet-46178.
    remote:
    To https://git.heroku.com/shielded-inlet-46178.git
    ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 'https://git.heroku.com/shielded-inlet-46178.
    git'



    【エラーメッセージもいまいち読めないのですが気になるところ】
    ・herokuが「python-3.6.3はサポートしてないよ」と言っている?
    ・「git commit -m "My Django Girls app"」をしたときに、djangogirlsのサイトでは、
         [master (root-commit) 2943412] My Django Girls
         7 files changed, 230 insertions(+)
         create mode 100644 .gitignore …以下略
      こんなもの↑が出ると書いてあるけど、
         On branch master
         nothing to commit, working tree clean
      こういうふうに出る↑のはおかしい?

    というところが気になっている箇所です。

    キャンセル

  • 2017/11/24 17:54

    >・herokuが「python-3.6.3はサポートしてないよ」と言っている?

    ÿþpython-3.6.3がないようです。文字化けがあるように見えます。
    runtime.txtをチェックするべきです。


    >・「git commit -m "My Django Girls app"」をしたときに、djangogirlsのサイトでは、
         [master (root-commit) 2943412] My Django Girls
         7 files changed, 230 insertions(+)
         create mode 100644 .gitignore …以下略
      こんなもの↑が出ると書いてあるけど、
         On branch master
         nothing to commit, working tree clean
      こういうふうに出る↑のはおかしい?

    gitで管理しているファイルに変更がありませんでしたと言っています。
    手元のGitファイルを二度commitしていませんか。
    git logで過去のcommitを確認できます。

    キャンセル

  • 2017/11/24 18:28

    git logで確認したら、二度commitしてました…;;

    runtime.txtの文字コードがunicodeなのですが、これが原因でしょうか…。

    と書いてる傍ら、runtime.txtの文字コードをSJISにしてやってみました(UTF8Nに変えたつもりだったのですが、今確認したらSJIS…)。

    うまくいきました^^heroku側のURLで、ちゃんと見ることができてます;;←嬉し涙。
    ありがとうございます。ほんとうに嬉しいです。

    いろいろと教えていただいた参考アドレスも、まだ完全に理解はできていないのですが、これから再度見直して、購入した本も読みながら、頭に入れたいと思います。

    runtime.txtの文字コードを変更して、git commitしたら、
    1 file changed, 0 insertions(+), 0 deletions(-)
    ってのが出てきて、あああああ、こういうことなのか…と。
    ベストアンサーを連打したい気持ちです。

    キャンセル

  • 2017/11/24 18:35

    うまく動いて何よりです。
    最近はフレームワークが立派で、手軽にすごいものが作れる一方で、はじめたてのうちにチュートリアルから外れてしまうと修正するのに結構の量の知識が必要ですね。
    めげずにがんばってください。
    こちらこそ勉強になりました。

    キャンセル

  • 2017/11/26 10:33

    今、たまたまネット見てて、このページはわたし的にわかりやすいなーと思いました。
    もし、皆様のまわりに、黒い画面とかGitとか怖いし…みたいな人がいたら、理解の入り口に立てるかもと思ったので、貼っておきます。

    「本当は怖くない!デザイナーがGitを大好きになった♡5つの理由」
    https://qiita.com/yunico-jp/items/de191a15ac07651abdea

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.39%

関連した質問

同じタグがついた質問を見る

  • Python 3.x

    2383questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Git

    869questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • Django

    550questions

    DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

  • Heroku

    451questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。