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

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

ただいまの
回答率

89.13%

Herokuデプロイ後にアップデートが出来ない。

解決済

回答 4

投稿 編集

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

k.chisato

score 14

実現したいこと

Ruby on rails × HerokuでWebアプリを作っています。

HTMLを微修正したので、アップデートしようとGitでCommitしようとすると
"nothing to commit, working tree clean"
と出て来てしまう。

その上で一応Pushしても
”The authenticity of host 'heroku.com (○○)' can't be established.”
とエラーが出てしまいます。

上記を解決し、無事にアップデートを完了させたいです!

発生している問題・エラーメッセージ

ec2-user:~/environment/ver1.0 (master) $ git add -u
ec2-user:~/environment/ver1.0 (master) $ git commit -m "test"
On branch master
nothing to commit, working tree clean
ec2-user:~/environment/ver1.0 (master) $ git push heroku master
The authenticity of host 'heroku.com (○○)' can't be established.
RSA key fingerprint is SHA○○:○○/○○/o.
RSA key fingerprint is MD5:○○.
Are you sure you want to continue connecting (yes/no)? 
Host key verification failed.
fatal: Could not read from remote repository.

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

”git status”、”git add .”を試した結果

ec2-user:~/environment/ver1.0 (master) $ heroku login
heroku: Press any key to open up the browser to login or q to exit: 
Opening browser to https://cli-auth.heroku.com/auth/browser/797a573e-○○-4e8b-b299-790ccdfa9b61
 ›   Warning: Cannot open browser.
Logging in... done
Logged in as ○○@gmail.com
ec2-user:~/environment/ver1.0 (master) $ git status
On branch master
nothing to commit, working tree clean
ec2-user:~/environment/ver1.0 (master) $ git add .
ec2-user:~/environment/ver1.0 (master) $ git commit -m "test2"
On branch master
nothing to commit, working tree clean
ec2-user:~/environment/ver1.0 (master) $ git status
On branch master
nothing to commit, working tree clean

ファイルを一部修正して再度"git push"を試してみる

ec2-user:~/environment/ver1.0 (master) $ heroku login
heroku: Press any key to open up the browser to login or q to exit: 
Opening browser to https://cli-auth.heroku.com/auth/browser/84347da0-a7b3-4aa7-b0c8-28d511e597e4
 ›   Warning: Cannot open browser.
Logging in... done
Logged in as ○○@gmail.com
ec2-user:~/environment/ver1.0 (master) $ git add .
ec2-user:~/environment/ver1.0 (master) $ git commit -m "test3"
[master ebdd4207] test3
 Committer: EC2 Default User <ec2-user@ip-172-31-44-○○.us-east-2.compute.internal>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

    git config --global user.name "Your Name"
    git config --global user.email you@example.com

After doing this, you may fix the identity used for this commit with:

    git commit --amend --reset-author

 1 file changed, 1 insertion(+), 1 deletion(-)
ec2-user:~/environment/ver1.0 (master) $ git status
On branch master
nothing to commit, working tree clean
ec2-user:~/environment/ver1.0 (master) $ git push heroku master
The authenticity of host 'heroku.com (50.19.85.154)' can't be established.
RSA key fingerprint is SHA256:○○.
RSA key fingerprint is MD5:○○.
Are you sure you want to continue connecting (yes/no)? 
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
ec2-user:~/environment/ver1.0 (master) $ 

config設定

ec2-user:~/environment/ver1.0 (master) $ git config --global user.name "○○"                                                
ec2-user:~/environment/ver1.0 (master) $ git config --global user.email "○○@gmail.com"                                  
ec2-user:~/environment/ver1.0 (master) $ git commit --amend --reset-author
[master 131bc8d4] test3
 1 file changed, 1 insertion(+), 1 deletion(-)

https接続で再度Git push

ec2-user:~/environment/ver1.0 (master) $ git add .
ec2-user:~/environment/ver1.0 (master) $ git commit -m "test4"
On branch master
nothing to commit, working tree clean
ec2-user:~/environment/ver1.0 (master) $ git push heroku master
The authenticity of host 'heroku.com (50.19.85.132)' can't be established.
RSA key fingerprint is SHA256:○○/o.
RSA key fingerprint is MD5:○○.
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.
fatal: Could not read from remote repository.

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

Heroku infoの結果

ec2-user:~/environment/ver1.0 (master) $ heroku info                                                                              
 ▸    No app specified.
 ▸    USAGE: heroku info my-app
ec2-user:~/environment/ver1.0 (master) $ heroku info ○○
=== ○○
Addons:         cleardb:ignite
                pointdns:developer
Auto Cert Mgmt: true
Dynos:          web: 1
Git URL:        https://git.heroku.com/○○.git
Owner:          ○○@gmail.com
Region:         us
Repo Size:      31 MB
Slug Size:      75 MB
Stack:          heroku-18
Web URL:        https://○○.herokuapp.com/
ec2-user:~/environment/ver1.0 (master) $ heroku --version
heroku/7.26.2 linux-x64 node-v11.14.0
ec2-user:~/environment/ver1.0 (master) $ heroku login
heroku: Press any key to open up the browser to login or q to exit: 
Opening browser to https://cli-auth.heroku.com/auth/browser/bdbdf84b-2157-49e6-9da9-○○
 ›   Warning: Cannot open browser.
Logging in... done
Logged in as ○○@gmail.com
ec2-user:~/environment/ver1.0 (master) $ heroku keys:add
Found an SSH public key at /home/ec2-user/.ssh/id_rsa.pub
? Would you like to upload it to Heroku? Yes
Uploading /home/ec2-user/.ssh/id_rsa.pub SSH key... done
ec2-user:~/environment/ver1.0 (master) $ cat ~/.ssh
cat: /home/ec2-user/.ssh: Is a directory
ec2-user:~/environment/ver1.0 (master) $ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBckPpN27X1CjFgdyuE5DnOHId3KtYKHBVG0emH0OcxRVTyvLOqcM0EJIxyjBOGpVVl4rlwKoYr8ayAKy527hlZLwC1NXX0K/N2caihtGdnjddOv5/RlRNmCM+yL0dDhx7rlvOybrWg4Ge05b5Ffq○○YbRGoMWNsZgGPxVhykix3RRMg7/p1zNqjycjQfebnJKuEDixPNZj66kRXVD00PBDWEdJ0Vgh6MpteRjioUVoCn1bi67fMlDjrPa+AoerK1+vpDdfsVB8dwZWufqyPW6r6rexAiNzMRETtAxBrIWgVPoh+ZMEcdx67Np2Z0737 ec2-user@ip-○○-31-44-167
ec2-user:~/environment/ver1.0 (master) $ git add .
ec2-user:~/environment/ver1.0 (master) $ git commit -m "test5"
[master 54b2ac64] test5
 1 file changed, 1 insertion(+), 1 deletion(-)
ec2-user:~/environment/ver1.0 (master) $ git push -f heroku master
The authenticity of host 'heroku.com (50.○○.85.154)' can't be established.
RSA key fingerprint is ○○/o.
RSA key fingerprint is MD5:○○.
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.
fatal: Could not read from remote repository.

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

せっかく初めてのデプロイが出来たのに更新が出来なくてツライです・・
アドバイスよろしくお願いします!

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 4

checkベストアンサー

0

すみません、長文になりそうだったので改めて回答します。
まず、git commitをみた限り、configに設定を行なっていなさそうですね汗

ec2-user:と書いてあるので、cloud9だと思うのですが、通常は/home/ec2-user/の下に.gitconfigというGitの設定ファイルがあります。このファイルがGitのPC内でのゴローバル(共通)ファイル設定を担っています。ここに登録した名前とメールアドレスがコミットした人として登録されます。

方法としては、直接.gitconfigファイルを編集するかgitコマンドで行うかの二種類があるのですが、

例)
git config --global user.name "bamboo(登録名)"
git config --global user.email "bamboo@gmail.com(使用しているメアド)"


として設定してしまうのが良いと思います。そして、
git commit --amend --reset-author
として、先ほどのcommitの修正をすればgitは一段落です。
プロジェクトによってAuthorを変えたいという場合は以下のURLを参考にしてください。
https://qiita.com/treby/items/9184251b545d9ebc3198

また、Cloud9で操作しているのだと思いますが、HerokuをCloud9のターミナルから操作するためのコマンドツール(heroku-cli)をインストールしていますか?

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/07/09 00:27

    > →いえいえ、私の方こそいい加減ですみません・・
    確かインストールは下記に沿って行いました。

    URLはどんなコマンドを使ったかは覚えてないですよね。

    > 上の通りなのですが、デフォルトだとアプリが指定されていませんでした。
    ここ少し気になるのですが、gitも毎回アプリ指定した方が良いのでしょうか?
    デプロイ時も上手く行かなかった時に毎回アプリ指定していたので気になって・・

    アプリは指定していないのでその挙動であってますね。

    暇なときに個人でいろんなサイトを探して見たのですが、似たような事例がなく...アプリ自体はhttpsなのに、エラーログ見た感じsshで接続されるのでおかしいですよね泣

    提案なのですが、もし大丈夫そうでしたらherokuを一旦アンインストールして、その後に以下のコマンドでもう一度インストールし直してデプロイするのが早いかなと思います。以下にアンインストールからインストールの手順が乗っていたので参考にしてみてください(多分、これが一番近い事例じゃないかなと)。
    https://teratail.com/questions/125977

    ・アンインストール手順
    npm uninstall -g heroku
    ・インストール手順
    wget https://cli-assets.heroku.com/heroku-linux-x64.tar.gz -O heroku.tar.gz
    sudo mkdir -p /usr/local/lib/heroku
    sudo tar --strip-components 1 -zxvf heroku.tar.gz -C /usr/local/lib/heroku
    sudo ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku

    昔cloud9にherokuをインストールするときに使用した手順をそのまま載せてるので大丈夫かなと思います。ご期待に添えた回答ができなくてごめんなさい。

    キャンセル

  • 2019/07/09 23:24

    苦節数十時間・・・ついに解決しました!!笑

    正解はGitでリモートする先のURLが何故か二か所存在?していたので指定したら解決しました。

    "git remote set-url heroku <Git URL>"

    bamboo-novaさんの
    「アプリ自体はhttpsなのに、エラーログ見た感じsshで接続されるのでおかしいですよね泣」
    という言葉で「接続先が二つ存在している??」と思い付き試したら上手く行きました!

    長らく付き合って下さりありがとうございました・・・
    またどうしようも無くなったら頼らせてください!!

    本当にありがとうございました!!

    キャンセル

  • 2019/07/09 23:40

    それは考えてなかったです...。chisatoさん凄いですね。
    言われてみるとわかるけど、気づかなかった汗

    自分こそ大変勉強になりました。むしろ気付けなくて申し訳ないです...。
    こちらこそありがとうございました。また機会がありましたらよろしくお願い致します。

    キャンセル

0

nothing to commit, working tree clean が出るのは、commit すべき修正を登録していないから、です。
git status してみて下さい
ブランチ master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

modified:   *****
modified:   *****
の様になっていると思います。
これらを add してから commit して下さい。
 

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/07/06 23:12

    ありがとうございます!!

    ”git status”してみたのですが、同じく”nothing to commit, working tree clean”
    これはそもそもファイルの変更が反映されていないということなのでしょうか?

    上に結果を追加しておきますので、
    アドバイス頂けると助かります・・

    キャンセル

  • 2019/07/07 04:38

    いや、heroku上でなくて、開発側、localで statusを見てくだだい。
    local上にcommitしていないものが残っているのではないか、ということですから

    キャンセル

0

記載されているエラーメッセージにgit add -uとしていますが、基本的に-uオプションはバージョン管理されているファイルがaddされるので、前回のバージョンと比べて差分が出ているファイルがバージョン管理されていないファイル(つまり新規に追加されたファイル)場合に関してはaddされないので、その影響で発生したエラーだと考えられます。

なので、特にaddさせたくないファイルがなければgit add .で全部のファイルを対象にステージングしても問題ないですし、もしも特定のファイルだけをaddさせたいのであればwinterboumさんのやり方などに沿って作成・追加した特定のファイルをaddさせるのが良いのかなと思います。

念のため、git addのオプションに関するURLを載せますね。初めてのデプロイということで、アップデート頑張ってください!
わざわざ依頼してくださり、ありがとうございました!
https://note.nkmk.me/git-add-u-a-period/

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/07/07 01:40

    まず、
    ・どこかのファイルのコメントを加えてからgit add . をしてからgit statusをした時に変更点が確認できる
    ・その後にgit commitが正常にできる
    この二点が大丈夫であればgitは正常に機能していると思うので、それからもう一度herokuにpushするのが良いかなと思います。もしもまた何かありましたらご連絡ください。

    キャンセル

  • 2019/07/07 13:19

    丁寧に本当にありがとうございます!

    ・どこかのファイルのコメントを加えてからgit add . をしてからgit statusをした時に変更点が確認できる
    →上に更新したように、一応変更したことは確認できました。

    ・その後にgit commitが正常にできる
    →しかしpushすると最初に質問した時と同じエラーが出てしまいます・・

    Google先生に聞くと、原因は下記の中にあるのかな・・・と思うのですがいかがでしょう?

    ・編集したHTMLファイルの容量がとても重い(1万3千行あります・・)
    ・GitHubを使っていない(一人で開発しているので、イマイチ利用する意味が分からなくて・・)

    あと一歩で更新できると思うので、頑張りたいです。
    よろしくお願いします!

    キャンセル

  • 2019/07/07 14:08

    herokuに関しては、別にgithubを使用していなくてもデプロイできますね。
    使用しているHTMLファイルが重い件については、herokuは200MB越えない限りは大丈夫なはずです。

    キャンセル

0

そもそも変更したファイルをセーブし忘れてるとかじゃないですか?

追記

思いつく限りでできそうなことを書いておきます。

# Herokuがインストールされているかの確認
heroku --version
#=> heroku-cli/6.15.5 (linux-x64) node-v9.2.1

# バージョンが表示されない場合
# クラウド上でHerokuのインストール
source <(curl -sL https://cdn.learnenough.com/heroku_install)
# バージョン確認
heroku --version
# .bash_profileにパスを通す必要があるとか見かけたこともあるけど
# cloud9使ったことないので、必要そうだったらパスを通してみてくれ

# ログインしていなければログインする
heroku login
# SSHキーを追加していなければ追加する
heroku keys:add

# SSHキーの確認方法
cat ~/.ssh
#=> id_rsa      id_rsa.pub        左が秘密鍵、右が公開鍵のファイル
cat ~/.ssh/id_rsa.pub
#=> 公開鍵の文字列

#cat ~/.ssh を実行してもファイルが存在しない場合は鍵の生成を行う
ssh-keygen
#鍵ファイルの保存フォルダ、パスフレーズ、パスフレーズ(確認)の入力を求められるが無視してreturnを3回押す
cat ~/.ssh/id_rsa.pub
#=> 公開鍵の文字列

# 最終手段でとりあえずforceオプションつけて強制実行してみる
git commit -f
git push -f heroku master

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/07/08 22:07

    いやセーブはしています・・残念ながら・・

    キャンセル

  • 2019/07/09 10:26

    思いつく限り追記しておきました。

    キャンセル

  • 2019/07/09 22:30

    ありがとうございます。

    ですが全て上記の様に試しましたが効果無しです・・・悲しい・・・

    キャンセル

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

  • ただいまの回答率 89.13%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

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