質問: ### 前提・実現したいこと 現在、laravelとvueを使ったアプリをherokuへデプロイしているのですが、git status modifiedがどうしても消えず、そこから先herokuへ変更内容が反映されず困っています。。。modifiedに記されている「pgsql-data/pg_stat_tmp/global.stat」を編集した覚えはありません。 ### 発生している問題・エラーメッセージ ``` $ git status On branch master Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: pgsql-data/pg_stat_tmp/global.stat no changes added to commit (use "git add" and/or "git commit -a") ``` ### 試したこと ・git add や git checkout など試したところ、一旦はステージングできるのですが、pushしてstatusを確認してみると、また上と同じaddされていない状態のmodifiedと出てしまいます。 ・全くファイルなど変更せずにgit add した場合、もなぜか1ファイルだけ変更したことになっているようです。それをpusuしてログを確認してみると、以下のように出ました。 ``` diff --git a/pgsql-data/pg_stat_tmp/global.stat b/pgsql-data/pg_stat_tmp/global.stat index 4cbca6e..4c583f4 100644 Binary files a/pgsql-data/pg_stat_tmp/global.stat and b/pgsql-data/pg_stat_tmp/global.stat differ ``` ・フォルダごとgitの管理下から一回外し、改めてgitの初期化を行いましたが、同じようにmodifiedは現れました。 解決策わかる方いましたらよろしくお願いします。
回答: `pgsql-data/pg_stat_tmp/global.stat` は PostgreSQL データベースの一時ファイルのようです: 参考: データベースファイルのレイアウト 開発用に PostgreSQL データベースをお使いですか? 開発のデータベースと本番のデータベースが別のデータベースであれば、 こちらのファイルは本番環境には不要と思われますので Git の操作で無視する設定を行うとよいでしょう `pgsql-data/pg_stat_tmp` 以下のファイルを Git の操作で無視する方法 `.git` のある階層に新規テキストファイルを `.gitignore` というファイル名で作成し、 次の内容を記述して保存します: ``` pgsql-data/pg_stat_tmp ``` 再度 `git status` コマンドを実行し、 `pgsql-data/pg_stat_tmp/global.stat` が表示されないことを確認しましょう ただし、すでに `pgsql-data/pg_stat_tmp/global.stat` を Git 管理に加えてしまった場合は `.gitignore` に追加しても引き続き Git 管理されます。 Git 管理に含めてしまったファイルを Git 管理から除外する方法 次のコマンドで Git 管理から外します: ``` git rm --cache pgsql-data/pg_stat_tmp/global.stat git commit -m "Remove pg_stat_tmp from version control" ``` 次のコマンドを実行すると、 対象のファイルがGIt 管理から外れているか確認することができます: ``` $ git ls-files --error-unmatch pgsql-data/pg_stat_tmp/global.stat error: pathspec 'pgsql-data/pg_stat_tmp/global.stat' did not match any file(s) known to git Did you forget to 'git add'? ``` 上記のようなメッセージが表示されれば、Git 管理から外れています もし、Git 管理から外れていなければ、次のような出力になります: ``` $ git ls-files --error-unmatch pgsql-data/pg_stat_tmp/global.stat pgsql-data/pg_stat_tmp/global.stat ```