Sau khi chỉnh sửa .gitignoređể khớp với các tệp bị bỏ qua, bạn có thể làm git ls-files -ci --exclude-standardđể xem các tệp được bao gồm trong danh sách loại trừ; sau đó bạn có thể làm
//On Linux:
git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached
//On Windows:
for /F "tokens=*" %a in ('git ls-files -ci --exclude-standard') do @git rm --cached "%a"
//On mac
alias apply-gitignore="git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached"
để xóa chúng khỏi kho lưu trữ (mà không xóa chúng khỏi đĩa).
Chỉnh sửa : Bạn cũng có thể thêm phần này dưới dạng bí danh trong tệp .gitconfig để bạn có thể chạy bất cứ lúc nào bạn muốn. Chỉ cần thêm dòng sau trong phần [bí danh] (sửa đổi khi cần cho Windows hoặc Mac):
apply-gitignore = !git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached
( -rCờ xargsngăn không cho git rmchạy trên một kết quả trống và in ra thông báo sử dụng của nó, nhưng chỉ có thể được hỗ trợ bởi công cụ tìm kiếm GNU. Các phiên bản khác xargscó thể có hoặc không có tùy chọn tương tự.)
Bây giờ bạn có thể chỉ cần gõ git apply-gitignorevào repo của bạn và nó sẽ làm việc cho bạn!