.gitignore に追加した後、リモートリポジトリからディレクトリを削除する 質問する

.gitignore に追加した後、リモートリポジトリからディレクトリを削除する 質問する

いくつかのディレクトリをコミットして 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 からのフィードバックです。ファイルはまだ作業ディレクトリにあります。

おすすめ記事