今回は以下のようになってしまった際の対処法です。
Files changed に3000とか9000とか上がってしまう
レビューしてもらったが、色々指摘されている
1. gitignoreについて知る
gitignoreとは
gitignoreとは以下のファイルです。
gitの管理下から除外したいファイルを書きます。
hello
というディレクトリ中身全てを除外したい場合は
/hello/
とするか、
hello/
とするか
hello/*
gitignoreの注意点
gitignoreはgitignoreに記載後、ファイルが次に作成された時にignoreされる。
つまり、元からあったファイルはgitignoreに記載しても除外されない
対処法
実際のファイルは残しながら、gitから削除する、削除したというコミットをする。
git rm --cached -r ファイル・フォルダまでのパス
つまり
git rm --cached -r uploads/images/*
などのコマンドを実行する
2. vendor/bundleについて知る
vendor/bundleとは
bundle installするときのオプションでよく使われる
bundle install --path vendor/bundle
bundle installで導入されるgemが全て、アプリのディレクトリの中に保存されます。
バージョンを固定したい場合や本番環境なので、ごくごく稀に使用される。
vendor/bundleする弊害
gitignoreしていないと、gitに大量の変更が上がってしまう。
vendor/bundleの対処法
ファイルを消して、bundle installする。
ではダメです。
.bundleフォルダにあるconfigファイルにvendor/bundleのパスが残されています。
これを削除する必要があります。
vi .bundle/config
BUNDLE_PATH: "vendor/bundle"の行を消す
レビューワーからgemがアップロードされているようですrevertしましょう!
とあったとしても、上記BUNDLE_PATHの設定が原因で、revertが本質の解決とならないので気をつけましょう。
また、アプリのディレクトリだけでなく、その上の階層のディレクトリにも.bundle/configにBUNDLE_PATHの記述がないか確認しましょう!
やるべきことをまとめると、
- vendor/bundleのディレクトリを削除
- .bundle/configの修正