Các quy tắc trong .gitignore
tệp của bạn chỉ áp dụng cho các tệp không bị theo dõi. Vì các tệp trong thư mục đó đã được cam kết trong kho lưu trữ của bạn, bạn phải hủy kích hoạt chúng, tạo một cam kết và đẩy tệp đó đến GitHub:
git rm -r --cached some-directory
git commit -m 'Remove the now ignored directory "some-directory"'
git push origin master
Bạn không thể xóa tệp khỏi lịch sử của mình mà không viết lại lịch sử của kho lưu trữ - bạn không nên làm điều này nếu có ai khác đang làm việc với kho lưu trữ của bạn hoặc bạn đang sử dụng nó từ nhiều máy tính. Nếu bạn vẫn muốn làm điều đó, bạn có thể sử dụng git filter-branch
để viết lại lịch sử - có một hướng dẫn hữu ích cho vấn đề đó ở đây .
Ngoài ra, lưu ý đầu ra từ git rm -r --cached some-directory
sẽ giống như:
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'
Đây rm
là phản hồi từ git về kho lưu trữ; các tập tin vẫn còn trong thư mục làm việc.