.gitignore
ファイルのルールは、追跡されていないファイルにのみ適用されます。そのディレクトリ下のファイルはリポジトリで既にコミットされているので、それらをステージングしてコミットを作成し、それをGitHubにプッシュする必要があります。
git rm -r --cached some-directory
git commit -m 'Remove the now ignored directory "some-directory"'
git push origin master
リポジトリの履歴を書き換えることなく、履歴からファイルを削除することはできません。他の誰かがリポジトリを使って作業している場合や、複数のコンピュータから作業している場合は、この作業を行うべきではありません。それでもやりたい場合は、 git filter-branch
を使って履歴を書き換えることができます。ここに役立つガイドがあります。
さらに、 git rm -r --cached some-directory
の出力は次のようになります:
rm 'some-directory/product/cache/1/small_image/130x130/small_image.jpg'
rm 'some-directory/product/cache/1/small_image/135x/small_image.jpg'
rm 'some-directory/.htaccess'
rm 'some-directory/logo.jpg'
rm
はリポジトリに関するgitからのフィードバックです。ファイルはまだ作業ディレクトリにあります。