LoginSignup
22
19

More than 3 years have passed since last update.

gitignoreとvendor/bundle

Last updated at Posted at 2020-02-13

今回は以下のようになってしまった際の対処法です。

Files changed に3000とか9000とか上がってしまう

Screenshot from Gyazo

レビューしてもらったが、色々指摘されている

Screenshot from Gyazo

1. gitignoreについて知る

gitignoreとは

gitignoreとは以下のファイルです。
gitの管理下から除外したいファイルを書きます。

helloというディレクトリ中身全てを除外したい場合は

/hello/
とするか、
hello/
とするか
hello/*

Screenshot from Gyazo

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が本質の解決とならないので気をつけましょう。
Screenshot from Gyazo

また、アプリのディレクトリだけでなく、その上の階層のディレクトリにも.bundle/configにBUNDLE_PATHの記述がないか確認しましょう!
やるべきことをまとめると、

  • vendor/bundleのディレクトリを削除
  • .bundle/configの修正
22
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
19