Làm sao bỏ qua .DS_Store trong mọi thư mục?

Quy tắc .DS_Store không có / đầu khớp tên này ở mọi độ sâu dưới .gitignore. Nếu Git vẫn báo thay đổi, kiểm tra tệp đã được theo dõi chưa.

1. Thêm quy tắc đúng phạm vi

Thêm dòng này vào .gitignore gốc để chia sẻ quy tắc. /.DS_Store chỉ bao gồm bản ở gốc. Với tùy chọn cá nhân dùng cho nhiều kho, hãy dùng tệp toàn cục.

.DS_Store

Vì sao tệp bị quy tắc Git toàn cục bỏ qua?

2. Phân biệt tệp bị bỏ qua và tệp đã theo dõi

Với các bản ví dụ chưa theo dõi, xem quy tắc nào khớp mỗi đường dẫn:

git check-ignore -v -- .DS_Store assets/.DS_Store

Sau đó kiểm tra các đường dẫn cụ thể đã có trong chỉ mục chưa. check-ignore thường bỏ qua tệp đã theo dõi; khớp quy tắc không làm ngừng theo dõi chúng.

git ls-files -- .DS_Store assets/.DS_Store

3. Ngừng theo dõi một bản cụ thể

Nếu assets/.DS_Store đã được theo dõi, kiểm tra trạng thái và lưu công việc cục bộ cần thiết, rồi chỉ xóa mục chỉ mục của nó:

git rm --cached -- assets/.DS_Store

Xem lại việc xóa đã đưa vào vùng chờ trước khi commit. --cached giữ bản cục bộ của bạn, nhưng đồng đội có thể mất bản đang được theo dõi khi kéo commit. Chỉ lặp lại với đường dẫn đã kiểm tra; tránh xóa hàng loạt hay dựng lại toàn bộ chỉ mục.

git diff --cached --name-status

Làm sao bỏ qua tệp Git đã theo dõi?

Xem tài liệu chính thức để biết hành vi chính xác và thông tin chi tiết: Tài liệu Git · Tài liệu git rm · Tài liệu git check-ignore