一度addしてしまったディレクトリをgitignoreする

昨日、vendor/bundle配下にインストールされたgemをgitの追跡対象に入れてしまったままプルリクを出してしまい、ファイルの変更履歴が膨大な量になって迷惑をかけてしまいました。

そこで、後から.gitignoreにvendor/bundleを含めようとしたのですが、手間取ってしまいました。

結局、先輩に教えていただき上手く.gitignoreに含めることができました。

その時の手順を忘れないように、書き留めておこうと思います。

 

 

①gitの追跡対象からvendor/bundleを除外する

以下のコマンドでgitの追跡対象からvendor/bundleを除外します。bundleはディレクトリなので、-r オプションもつけます。

--chachedオプションをつけているので、実際のディレクトリは削除されません。

git rm  --cached -r vendor/bundle

 

この後.gitignoreファイルにvendor/bundleを追記します。

 

 

②gitの追跡対象から除外した状態でcommit

git commit -m "git rm --chached -r vendor/bundle"

 

 

これでgitでの管理対象から外すことができます。

この後pushすれば、プルリクからもvendor/bundle配下の内容を除外することができます!!

 

 

 

 

以下は練習用ディレクトリで再度練習した流れです。

~/p/r/rspec_practice (master|…) [128] $ git rm --cached -r lib
rm 'lib/hello.rb'
rm 'lib/user.rb'
~/p/r/rspec_practice (master|●2…) $ git commit -m "git rm --chached lib"
[master 67e4146] git rm --chached lib
2 files changed, 21 deletions(-)
delete mode 100644 lib/hello.rb
delete mode 100644 lib/user.rb
~/p/r/rspec_practice (master|…) $