🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby

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

Ruby on Rails 6

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

Git

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

Heroku

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

1回答

912閲覧

Herokuにアプリケーションをデプロイする

Angelica.87

総合スコア9

Ruby

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

Ruby on Rails 6

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

Git

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

Heroku

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

0クリップ

投稿2021/03/13 06:38

編集2021/03/13 08:17

前提・実現したいこと

作成したrailsのアプリを公開したい。TECHACADEMYマガジンを参考にHerokuアプリケーションを作成できたが、
Herokuにアプリケーションをデプロイするで躓いてしまった。
自分の作成したデスクトップ上にあるアプリをウエブに公開したい。
そのためにまず、下記のエラーメッセージを解消したい。

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

git push heroku masterとコマンドプロントで打ち込んだところ以下のエラーメッセージが表示された。 fatal: not a git repository (or any of the parent directories): .git

該当のソースコード

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

参考にしたサイトです
https://techacademy.jp/magazine/6401

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

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

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

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

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

hoshi-takanori

2021/03/13 07:19

作成したアプリは git でバージョン管理されてますか?
Angelica.87

2021/03/13 07:53

すみません。初めてアプリを公開しようと考えていて、gitでバージョン管理という工程を行っていないと思います。どのようにすればバージョン管理できるのでしょうか?
Angelica.87

2021/03/13 08:06

すみません。その記事は見たのですがいまいち内容が良くわからなくて、 Git hubのアカウントはあるのですが、まずgit initiをすればよいですか?
Angelica.87

2021/03/13 08:07

すみません。本当に素人で申し訳ありません。
CHERRY

2021/03/13 08:11

参考にされた URL を質問に追記していただけないでしょうか。
hoshi-takanori

2021/03/13 08:13

git がインストール済みなら、プロジェクトディレクトリで .gitignore を適切に設定 git init git add . git commit -m "コミットログ" heroku create または heroku git:remote git push heroku master (または main) すればいいとは思いますが、各コマンドの意味とかわかってないと途中でハマる可能性が…。
hoshi-takanori

2021/03/13 08:14

あと、git と GitHub は別です。heroku にデプロイするのに GitHub は必須ではありません。
Angelica.87

2021/03/13 08:20

ごめんなさい。各コマンドの意味は現状分かりません。 1つずつ解決させてください。 .gitnoreの適切な設定について教えていただけないでしょうか?
Angelica.87

2021/03/13 08:20

CHERRYさん参考に補足情報にURLを載せました。
hoshi-takanori

2021/03/13 08:27

.gitignore の適切な設定は、作るアプリケーションによります。私は Rails に詳しくないのでよく分かりませんが、rails new の時点で作られてる可能性もありますね。まず既存の .gitignore が存在するか、存在するならその内容をご確認ください。
Angelica.87

2021/03/13 23:07

rails new で作成したフォルダーの中に.gitnoreがありました。 内容は以下のとおりですが、正直何を意味していて次にどのように動いていいか分かりません。 その辺をご教授いただけるとありがたいです。 hosi# See https://help.github.com/articles/ignoring-files for more about ignoring files. # # If you find yourself ignoring temporary files generated by your text editor # or operating system, you probably want to add a global ignore instead: # git config --global core.excludesfile '~/.gitignore_global' # Ignore bundler config. /.bundle # Ignore the default SQLite database. /db/*.sqlite3 /db/*.sqlite3-journal /db/*.sqlite3-* # Ignore all logfiles and tempfiles. /log/* /tmp/* !/log/.keep !/tmp/.keep # Ignore pidfiles, but keep the directory. /tmp/pids/* !/tmp/pids/ !/tmp/pids/.keep # Ignore uploaded files in development. /storage/* !/storage/.keep /public/assets .byebug_history # Ignore master key for decrypting credentials and more. /config/master.key /public/packs /public/packs-test /node_modules /yarn-error.log yarn-debug.log* .yarn-integrity
hoshi-takanori

2021/03/13 23:34

.gitignore は git でバージョン管理の対象外にするファイルを指定するものです。例えばビルド時に作られる一時ファイルや、アプリを実行したときに書き出されるログファイルなどはバージョン管理する必要がありません。また、SQLite3 データベースはプログラムとは別に管理すべきというコオで対象外になってるのだと思います。 とりあえず .gitignore はそのままで良さそうなので、先に進んで良いのでは。
Angelica.87

2021/03/13 23:48

了解しました。 次のgit.initに進みたいと思います。 これはコマンドプロントでgit initと打ち込むとgitフォルダーが作成されるものと認識があるのですが、 間違いないでしょうか?
hoshi-takanori

2021/03/13 23:57 編集

git init するとカレントディレクトリに .git ( 先頭のピリオドに注意) という隠しフォルダ (Windows では隠れてないかも?) ができて、その中に git の管理情報が格納されます。 で、この .git があるフォルダが git の管理対象になります。
Angelica.87

2021/03/14 04:40

コマンドプロントでgit initをしまして、ユーザー名のフォルダーの中に .gitというフォルダーを作成することに成功しました。 ちなみに公開したいRailsAppというrailsのアプリはデスクトップ上に置いています。 次のaddのステップに進むにあたっては、このRailsAppを.gitフォルダーのどこかに入れる必要があるのでしょうか?
hoshi-takanori

2021/03/14 04:49

ユーザー名のフォルダってホームディレクトリのことですよね。そこは git 管理しない方が良いと思うので、その .git は消しましょう。RailsApp フォルダで git init して、RailsApp の中に .git を作る (.git の中に RailsApp を入れるのではなく) のが正解です。
Angelica.87

2021/03/14 05:00

了解です。 ホームディレクトリの中に作成した、.gitは削除して、 デスクトップ上にあるRailsAppフォルダー内にgit initして.gitフォルダーを 作成しました。
hoshi-takanori

2021/03/14 05:07

次は git add . (add の後ろにスペースを開けてピリオド) して、念のために git status で確認しましょう。 ピリオドはカレントディレクトリ (自分が今いるディレクトリ) を意味し、git add . はここにあるものを全部 (ただし、.gitignore で除外したものわー除く) を git のステージング領域 (コミット予定のものを登録するところ) に追加します。
Angelica.87

2021/03/14 05:33

git add .を実行したところ複数のファイルを処理した形跡が残りました。 git statusをしたところ、 Oh branch master No commits yet Changes to be committed: (use "git rm --caced<file>..."to unstage) new file:・・・・・ ・・・ 緑色の文字で複数のファイルが列挙されているのを確認しました。
hoshi-takanori

2021/03/14 05:40

はい。その緑で表示されたファイルが、git commit でコミットされる予定のファイルになります。その内容でコミットして良ければ、git commit -m "コミットログ" でコミットします。コミットログとは、そのコミットでどんな変更を行ったかを書きます。例えば、最初のコミットとか、アプリ作ったとか、heroku にデプロイするよ、とかですね。
Angelica.87

2021/03/14 05:51

git commit -m "Test RailsApp"を実行したところ ***Please tell me who you are. Run git config --global user.email "****" git config --global user.name "****" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: empty ident name(for <>) not allowed と表示されました。
hoshi-takanori

2021/03/14 06:11

あー、そうか。名前とメアドの設定が必要ですね。それらの設定をしてからコミットしてください。
Angelica.87

2021/03/14 06:17

cd RailsApp内で以下のコマンドを入力すれば良いのでしょうか? git config --global user.name "****" git config --global user.email "****"
hoshi-takanori

2021/03/14 06:49

はい、**** の部分にそれぞれ名前 (ローマ字) とメアドを入れてください。
Angelica.87

2021/03/14 20:42

git configに成功して、git commit -m "shoppingsystem" create mode・・・ とデータを処理している形跡が見られました。 おそらく成功したものと思われます。 この段階を踏んだ上でheroku createを行うという理解でよろしいでしょうか?ちなみに私の場合はすでにheroku createを行っておりherokuのホームページを見るとheroku createした情報が載っています。この場合だと、「gitに上げた情報をherokuに移す工程 = git push heroku master」を行うという理解でよろしいでしょうか?
Angelica.87

2021/03/14 20:47

その場合はcd RailsApp内でgit push heroku masterとコマンド入力を行えばよろしいでしょうか?
hoshi-takanori

2021/03/15 00:23

コミットに成功したら、例えば git log で履歴が見れるようになります。また、git status すると On branch master (または main) nothing to commit, working tree clean みたいに表示されると思います。ここで master (または main) と書いたのは現在のブランチで、最近政治的な事情により master ではなく main というブランチ名が使われるようになりつつあるので、まずブランチ名を確認してください。 「gitに上げた情報をherokuに移す工程」というのはちょっとニュアンスが違いますね。git にコミットするというのは、あくまでもローカル (手元) に履歴を保存したということで、まだどこにも上げてません。むしろ git push が「上げる」ということになるかと思います。 で、git push heroku master (または main) すれば heroku に上げることができます。(git push するにはリモートリポジトリが登録されている必要があって、リモートリポジトリの登録がされてるかは git remote -v で確認できますが、heroku create で自動的に登録されるかは忘れました。とりあえず git push して、エラーが出たらまたご相談ください。)
Angelica.87

2021/03/15 19:52

丁寧な説明ありがとうございます。 git statusしたところ、Oh branch master nothing to commit・・・と表示されました。また、cd RailsApp内で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 reposiytory exists. これはリモートリポジトリが登録されていないという理解でよろしいでしょうか?
hoshi-takanori

2021/03/15 20:09

そうですね。たぶん heroku のリポジトリと紐付いてないのだと思います。 git remote -v としても何も表示されないのでは。 heroku と紐付けるには、RailsApp ディレクトリで heroku git:remote -a アプリ名 (heroku に登録したもの) をする必要があります。 https://tyoshikawa1106.hatenablog.com/entry/2016/03/24/085652 これでもう一度 git remote -v すると、今度は何か表示されて、git push heroku master できるようになると思います。
Angelica.87

2021/03/16 05:34

hoshi-takanoriさん丁寧な説明ありがとうございます。 おかげ様でgit push heroku masterすることが出来ました。
guest

回答1

0

自己解決

上記対応を参考に処理しました。

投稿2021/03/16 05:35

Angelica.87

総合スコア9

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問