git status và git diff so cái gì với cái gì — và cái bẫy .gitignore ai cũng dính
Bạn gõ git status và git diff hàng chục lần mỗi ngày nhưng ít khi hỏi chúng so những gì. Câu trả lời nằm ở ba vùng: working tree, index, HEAD. Bài này đo thật: git diff so working với index, git diff --cached so index với HEAD, git status --short đọc bằng hai cột, và vì sao thêm file vào .gitignore không gỡ được file đã theo dõi.