Help us understand the problem. What is going on with this article?

gitignoreとvendor/bundle

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

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の修正
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした