pythonのプロジェクトをgitで管理する際に__pycache__
がコミットされていたので、それを外したくて、考えました。
特定のフォルダ名に入っているものを管理から外す方法
結果から言うと、これでできます。
git rm --cached `git ls-files | grep __pycache__`
あとは、
gitignoreでpychacheの拡張子を外します。
*.pyc
解説
git ls-files
で管理下にある、ファイルが一覧で取得できるので、grep
で__pycache__
(特定のフォルダ名)を含む行を検索します。
※同じファイル名がある場合は/__pycache__/
とかにしてね。
それを`(バッククォート)
で囲うとそれのコマンドが先に行われてその出力を対象にしてくれます。
実際キャッシュファイル外すのってどうなの?
pythonの場合はキャッシュ名がバージョンだったりするので、
コミットされてたら、このバーションで動かして動いてたんだなって感じにはなるかもしれないです。
同じ環境を絶対再現したいというのであれば、コミットしたほうが良いのかもしれません。
ただ、私としては、きれいにソースコードだけを収めたいので、外します。
キャッシュ外したら動かないとかなにか、ほかに問題があるでしょ
あと、めんどくさいのが、サーバーとかでpullしてそこでキャッシュできて
commitしないとpullできないよとか言われたらだるい。