Khi bạn làm việc với Git, bạn sẽ có nhiều trường hợp, sau khi thêm dòng code mới vào file .gitignore, các tệp bị bỏ qua vẫn xuất hiện trong khu vực staging "git commit". Khi gặp trường hợp như vậy, cách tốt nhất để giải quyết là xóa và dọn dẹp bộ nhớ đệm Git. Hướng dẫn này nhằm chỉ cho bạn cách xóa bộ nhớ đệm Git, nhưng trước khi đi sâu vào đó, hãy nói sơ qua về bộ nhớ đệm Git là gì, nó làm gì, và lợi ích của việc xóa nó.
Bộ nhớ đệm Git là gì?
Bộ nhớ đệm Git, còn gọi là khu vực staging (staging area) hoặc index (chỉ mục), chứa thư mục cây làm việc (working tree directory), bao gồm kho lưu trữ (repository), các commit, và nhánh (branches) sẽ được commit ngay khi bạn gọi lệnh "git commit" tại bất kỳ thời điểm nào.
Bộ nhớ đệm giúp bạn thực hiện các thay đổi được chọn cho cây làm việc trước khi commit chúng, hoặc chỉ tải xuống các commit mới nhất trong khi cache hầu hết các commit khác.
Nếu không có bộ nhớ đệm Git, lệnh git commit sẽ phiền toái hoàn tác các thay đổi commit về cây làm việc trước khi commit một số thay đổi commit trong commit tiếp theo.
Bộ nhớ đệm Git làm gì?
Bản chất của khu vực staging hoặc index là tăng hiệu suất bằng cách giải quyết các xung đột hợp nhất commit (commit merges) và giảm thiểu nhu cầu liên tục tải lại các phụ thuộc (dependencies), thư viện, và các loại nội dung khác khi cần.
Đâu (và làm sao) tìm bộ nhớ đệm Git
Bộ nhớ đệm Git nằm trong file tên index bên trong thư mục .git.
Để tìm hoặc truy cập file bộ nhớ đệm Git, chạy lệnh sau để vào thư mục .git. Khi bạn có vị trí thư mục .git, điều hướng vào nó bằng lệnh cd:
git rev-parse --git-dir cd .git
Khi đã trong thư mục, bạn có thể định vị file index bằng lệnh ls:
ls –la
Để xem file, dùng lệnh file:
file index
Lệnh sẽ cho ra đầu ra hiển thị loại file, phiên bản, và số mục nhập bên trong file bộ nhớ đệm Git.
index: Git index, version 2, 5 entries

Xóa file bộ nhớ đệm Git
Để xóa một tệp cụ thể khỏi bộ nhớ đệm Git, dùng lệnh git rm theo sau là tệp cụ thể.
Để xóa đệ quy các tệp khỏi cache, dùng cờ -r với lệnh git rm.
Cú pháp chung cho lệnh là:
git rm --cached filename
Thay thế filename bằng tệp cụ thể bạn muốn xóa khỏi bộ nhớ đệm Git.
Ví dụ, để xóa tệp "mte-info.c", dùng lệnh:
git rm --cached mte-info.c
Tiếp theo, xác minh tệp đã được xóa thành công bằng lệnh:
file .git/index

Lưu ý: thực thi lệnh git rm --cached filename không xóa tệp khỏi thư mục làm việc — chỉ khỏi khu vực staging.
Mặt khác, để xóa toàn bộ cache và khu vực staging, dùng lệnh git rm với tùy chọn đệ quy -r:
git rm -r --cached
Kết luận
Như bạn đã học từ hướng dẫn này, xóa bộ nhớ đệm Git rất dễ dàng. Trong khi đó, bạn nên tìm hiểu về Git alias để sử dụng Git hiệu quả hơn.