いくつかのディレクトリをコミットして github にプッシュしました。その後、.gitignore
無視するディレクトリを追加してファイルを変更しました。すべて正常に動作しますが、(現在は無視されている) ディレクトリは github に残ります。
github とリポジトリ履歴からそのディレクトリを削除するにはどうすればよいですか?
ベストアンサー1
ファイル内のルールは、.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 からのフィードバックです。ファイルはまだ作業ディレクトリにあります。