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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Git

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

Heroku

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

4回答

1230閲覧

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

k.chisato

総合スコア18

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Git

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

Heroku

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/07/06 07:35

編集2019/07/09 13:30

実現したいこと

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.

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

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

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

bash

1# Herokuがインストールされているかの確認 2heroku --version 3#=> heroku-cli/6.15.5 (linux-x64) node-v9.2.1 4 5# バージョンが表示されない場合 6# クラウド上でHerokuのインストール 7source <(curl -sL https://cdn.learnenough.com/heroku_install) 8# バージョン確認 9heroku --version 10# .bash_profileにパスを通す必要があるとか見かけたこともあるけど 11# cloud9使ったことないので、必要そうだったらパスを通してみてくれ 12 13# ログインしていなければログインする 14heroku login 15# SSHキーを追加していなければ追加する 16heroku keys:add 17 18# SSHキーの確認方法 19cat ~/.ssh 20#=> id_rsa id_rsa.pub 左が秘密鍵、右が公開鍵のファイル 21cat ~/.ssh/id_rsa.pub 22#=> 公開鍵の文字列 23 24#cat ~/.ssh を実行してもファイルが存在しない場合は鍵の生成を行う 25ssh-keygen 26#鍵ファイルの保存フォルダ、パスフレーズ、パスフレーズ(確認)の入力を求められるが無視してreturnを3回押す 27cat ~/.ssh/id_rsa.pub 28#=> 公開鍵の文字列 29 30# 最終手段でとりあえずforceオプションつけて強制実行してみる 31git commit -f 32git push -f heroku master

投稿2019/07/08 01:02

編集2019/07/09 00:19
Mugheart

総合スコア2349

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k.chisato

2019/07/08 13:07

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

2019/07/09 01:26

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

2019/07/09 13:30

ありがとうございます。 ですが全て上記の様に試しましたが効果無しです・・・悲しい・・・
guest

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/07 05:06

bamboo-nova

総合スコア1408

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bamboo-nova

2019/07/07 05:36

また、herokuのデプロイについてですが、 Are you sure you want to continue connecting (yes/no)? の部分でyesにしてしまっておりますでしょうか?汗 git pushの初回接続の際に聞かれるのですが、yesの場合はssh接続の設定をする必要があるので、https接続の方が初回は良いと思います。ので、試したことがないのですがnoが良いような気がします。 https接続かssh接続か確認するには、 git remote show herokuと試してみて、 Fetching repository, done. * remote heroku Fetch URL: git@heroku.com:アプリケーション名.git Push URL: git@heroku.com:アプリケーション名.git のようにgit@から始まっているとssh接続になります。また、 https://git.heroku.com/アプリケーション名.gitのようになっていればhttps接続になっているはずです。確認してみてください。 参考URL https://qiita.com/diskshima/items/dfe45d6b1859b7819214
k.chisato

2019/07/07 15:19

丁寧な説明本当にありがとうございます! 日中は普通に働いているため、質問させて頂いている側なのに夜しか返せず申し訳ありません。。 ですが引き続きアドバイス頂けると嬉しいです。 >まず、git commitをみた限り、configに設定を行なっていなさそうですね汗 →理解が追い付いていなく恐縮なのですが、 指定頂いたコマンドにて、config設定を行ってみました。 (登録名は何でも良いという認識です) 上に結果を追加したのですが、これで問題無いでしょうか? また変更の反映は下記パスのファイルでしょうか? /ver1.0/.git/config こちら特に変更されておらず気になりました・・ >(heroku-cli)をインストールしていますか? →heroku loginとターミナルを叩いてログイン出来るのでインストール済みという認識ですが合ってますでしょうか? >Are you sure you want to continue connecting (yes/no)? >の部分でyesにしてしまっておりますでしょうか?汗 →こちらご指摘の通りyesにしていました・・よく読めよ!って感じですね汗 noにして再度試したのですが、上の通りでした・・ やはりエラーメッセージにあるHost Keyを特定しなければいけないのでしょうか・・? なおご推察の通りIDEはCloud9でアプリはhttps接続です。
bamboo-nova

2019/07/07 16:35

通常は/home/ec2-user/の下に.gitconfigというGitの設定ファイルが置いており、隠しファイルなのでls -aなどとしないと表示されないと思います。登録名などは、herokuで使用しているユーザ名とメアドで統一していれば問題ないと思います。/ver1.0/.git/configではないですね汗 >→heroku loginとターミナルを叩いてログイン出来るのでインストール済みという認識ですが合ってますでしょうか? すみません、cloud9に自動でherokuは入ってないはずなのですが...もし覚えていたら、herokuをどうやってインストールしたか教えていただけないでしょうか?汗 もしかして、以下のようなコマンドとか使ってインストールしたりしましたか? npm install -g heroku-cli
bamboo-nova

2019/07/07 16:45 編集

念のため、heroku infoでエラーが吐き出されていないか確認していただけますでしょうか? >日中は普通に働いているため、質問させて頂いている側なのに夜しか返せず申し訳ありません。。 ですが引き続きアドバイス頂けると嬉しいです。 いえいえ、むしろ一発で解決できていなくて申し訳ないです汗 お仕事お疲れ様です。
k.chisato

2019/07/08 13:37

>すみません、cloud9に自動でherokuは入ってないはずなのですが...もし覚えていたら、herokuをどうやってインストールしたか教えていただけないでしょうか?汗 →いえいえ、私の方こそいい加減ですみません・・ 確かインストールは下記に沿って行いました。 https://devcenter.heroku.com/articles/heroku-cli >念のため、heroku infoでエラーが吐き出されていないか確認していただけますでしょうか? 上の通りなのですが、デフォルトだとアプリが指定されていませんでした。 ここ少し気になるのですが、gitも毎回アプリ指定した方が良いのでしょうか? デプロイ時も上手く行かなかった時に毎回アプリ指定していたので気になって・・ ただgitにおけるアプリ指定の方法がよく分からず・・基本的なことなのかもしれませんがご教授頂けますでしょうか?
bamboo-nova

2019/07/08 15: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をインストールするときに使用した手順をそのまま載せてるので大丈夫かなと思います。ご期待に添えた回答ができなくてごめんなさい。
k.chisato

2019/07/09 14:24

苦節数十時間・・・ついに解決しました!!笑 正解はGitでリモートする先のURLが何故か二か所存在?していたので指定したら解決しました。 "git remote set-url heroku <Git URL>" bamboo-novaさんの 「アプリ自体はhttpsなのに、エラーログ見た感じsshで接続されるのでおかしいですよね泣」 という言葉で「接続先が二つ存在している??」と思い付き試したら上手く行きました! 長らく付き合って下さりありがとうございました・・・ またどうしようも無くなったら頼らせてください!! 本当にありがとうございました!!
bamboo-nova

2019/07/09 14:40

それは考えてなかったです...。chisatoさん凄いですね。 言われてみるとわかるけど、気づかなかった汗 自分こそ大変勉強になりました。むしろ気付けなくて申し訳ないです...。 こちらこそありがとうございました。また機会がありましたらよろしくお願い致します。
guest

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/06 09:41

bamboo-nova

総合スコア1408

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k.chisato

2019/07/06 14:16

ありがとうございます! 以前のアンサーが分かりやすかったので、初めて指名しちゃいました。笑 私の様な初心者は万能な”git add .”を使った方が良さそうですね・・勉強になります! しかし試してみたのですが上の通り上手くいかず・・ これはもっと根本的な点が原因なのでしょうか?
bamboo-nova

2019/07/06 16:36

すみません、返事が遅くなりました。 そうだとすると、変更したところがないということになってしまいますね...汗 最初の質問文のところですが、git push heroku masterする前にgit commit -m "test"していますが、「nothing to commit, working tree clean」と出ているので変更点がなさそうに見えます。git diffで今までのリビジョン番号を指定して差分を見る方法もあるのですが、とりあえずどこのファイルでも良いのでコメントなどを追加してみてgit commitできるかどうか確認していただけますでしょうか?汗
bamboo-nova

2019/07/06 16:40

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

2019/07/07 04:19

丁寧に本当にありがとうございます! ・どこかのファイルのコメントを加えてからgit add . をしてからgit statusをした時に変更点が確認できる →上に更新したように、一応変更したことは確認できました。 ・その後にgit commitが正常にできる →しかしpushすると最初に質問した時と同じエラーが出てしまいます・・ Google先生に聞くと、原因は下記の中にあるのかな・・・と思うのですがいかがでしょう? ・編集したHTMLファイルの容量がとても重い(1万3千行あります・・) ・GitHubを使っていない(一人で開発しているので、イマイチ利用する意味が分からなくて・・) あと一歩で更新できると思うので、頑張りたいです。 よろしくお願いします!
bamboo-nova

2019/07/07 05:08

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

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 08:54

winterboum

総合スコア23347

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k.chisato

2019/07/06 14:12

ありがとうございます!! ”git status”してみたのですが、同じく”nothing to commit, working tree clean” これはそもそもファイルの変更が反映されていないということなのでしょうか? 上に結果を追加しておきますので、 アドバイス頂けると助かります・・
winterboum

2019/07/06 19:38

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問