前提・実現したいこと
Railsチュートリアル第13章を終え、やっとherokuへpushとやると、赤い文字のエラーが2か所発生してpush完了が出来ません。何度かadd→ commit→ mergeをやってみるのですが、git pushは問題なくできています。git push herokuが上手く行きません。また、mergeの際publicディレクトリのuploads
ディレクトリが全て消えてしまいました。しかしローカルではMicropostsは動いています。git、herokuに詳しい方いらっしゃいましたらアドバイス頂けますと大変有難いです。よろしくお願いします。
発生している問題・エラーメッセージ
Herokuへのpushの最後の方にエラーが出てしまいます。 remote: Tasks: TOP => environment remote: (See full trace by running task with --trace) remote: remote: ! remote: ! Precompiling assets failed. remote: ! remote: ! Push rejected, failed to compile Ruby app. remote: remote: ! Push failed remote: Verifying deploy... remote: remote: ! Push rejected to littedekase.1111 remote: To https://git.heroku.com/littedekase.1111.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to'https://git.heroku.com/littedekase.1111
該当のソースコード
それから、public/uploads/・・以下のディレクトリやファイルがエディター上のファイルツリーから消えてしまっています。
試したこと
何度か、add~commit~merge~git pushを繰り返しているのですが駄目でした。
ローカルでは、micropostsは問題なく稼働して、ImageMagickもCarrierwaveも
問題なく動いています。
補足情報(FW/ツールのバージョンなど)
Windows10
状況がさっぱり分かりません。merge とは何と何を merge してるのですか? また、git push はどちらへ?(もうし公開リポジトリがあるなら教えて欲しいです。)
hoshi様
いつもコメントありがとうございます。
説明が下手で分かりにくくて申し訳ありません。マイクロポストの本番環境へuploadするという事で、ローカルでは各gem(carrierwave, Imagemagick等)も上手く入り、その後アマゾンのS3にバケットを作成し、git add -A → git commit → masterへブランチをcheckoutし、ここで一旦、エラーがでてadd出来ていないファイル(app/public/uploads/..)でした。これを何度かブランチをトピックに戻し、addしていると上手くできましたので、git pushを行いました。ここまでは、上手く行ったつもりなのですが、その後、git push herokuを行い、本番でAppを動かすとMicropostが無く、それまでの状態のままでした。
Bitbucketも確認したのですが、publicディレクトリの中のuploadsディレクトリとその中のファイル2つがmerge出来ていないことが分かり、エディターのファイルツリーにもそれらが消えた状態になっております。
どこかにそれらのファイル類があるとは思うのですが、捜索して正しくaddしていく方法が分からずというのが現状になります。
長々と書いてしまいましたが、経緯としてはこのようn状態です。
リポジトリは、非公開になっています。まだ、公開したことがありません。
設定にあるチェックを外すと公開できるのでしょうか?
下記のgit logにあるmicroposts関連の3つのburanchを取り消してしまえば、コミット以前い戻れるように思うのですが、そうではないでしょうか?
この、3つが全くhreokuへpushされていないので。
↓
$ git log --graph --oneline-all
* 12d3bcd (HEAD -> master, origin/master, user-microposts, master_old) Add user microposts3
* e84e54f Add user microposts2
* ed62032 Add user microposts
* 25892dc (heroku/master, password-reset) Add password reset2
* 0219645 Add password reset
* 933b2a1 (account-activation) Add add
* 90ea9d4 Add account activation
* a79ce83 (updating-users) Finish user edit, update, index, and destroy actions
* 2c3bc1e (adovanced-login) Implement advanced login
* 9ec8241 (basic-login) Imp I ement basic login
* 6a05459 (heroku/basic-login) Fix
* 0b525ae Use SSL and the Puma webserver in prodaction
* e6db329 (sign-up) Finish user signuo
* f03bd35 (signup-A) Finish user signup |/ | * 732c5c6 (origin/sign, sign) Finish user signup |/ | * 790e3c6 (re-sign-up) Finish user signup |/ * c9b9abd (modeling-users) Make a basic User model (including secure passwords)
* 750bfd5 (filling-in-layout) Finish layout and routes
* 6ebed98 Finish layout and routes
* 9358c4d Add a full_title helper
* 7f34d0f (rails-flavored-ruby) Add a full_title helper
* 1e8cc74 Complete advanced setup
* e828936 (static-pages) Finish static pages
* bac86d5 (origin/static-pages) Add a Static Pages controller
* 0d6b656 Add hello
* 0cdd72b Improve the README
あ、はい。そうですね。3 つ前の状態に戻せば heroku で動いている状態に戻るでしょうね。
でも、それより、最近 3 つの変更内容を調べて、間違って消したりしたファイルを調査すべきでは。
手元では以前の状態が引き継がれているために動いていても、heroku では一から新しい環境を作るのでリポジトリから大事なファイルを消してしまうと動かなくなります。
リポジトリを公開しても大丈夫なのであれば、こちらの方法で公開できます。
(他人の知的所有権を侵害したり、パスワードやクラウドの接続キーなどをうっかり公開しないようにご注意ください。特に、過去のバージョン履歴に含まれていても公開されます。)
https://help.github.com/ja/github/administering-a-repository/setting-repository-visibility#making-a-repository-public
hoshi様
コメントありがとうございます。
やはり変更してしまった内容確認は必要ですよね。
手元のツリーのpublicディレクトリの中で消えているファイルがすごく気になっております。また、AWSのS3は空っぽで何もないのが先ずおかしく・・。
あ、リポジトリ自体の公開は特には問題ないのですが、後に非公開に戻すことも出来るのでしょうか? すいません。何分経験浅いもので不安もありまして・・。
あなたの回答
tips
プレビュー