FresherKỹ thuậtGit
git status hiển thị gì và một file có thể ở những trạng thái nào?
Thử trả lời trước
Đáp án mẫu
git status tóm tắt sự khác biệt giữa working tree, index (staging area) và commit gần nhất, và cho biết branch hiện tại cùng quan hệ với upstream, ví dụ "ahead by 2 commits".
Một file có thể ở các trạng thái sau:
- Untracked: mới, Git chưa biết đến.
- Modified: đang được theo dõi và đã đổi trong working tree nhưng chưa stage.
- Staged ("changes to be committed"): đã được add vào index cho commit tiếp theo.
- Unmodified: đang được theo dõi và giống hệt commit cuối nên không được liệt kê.
Một file có thể ở hai trạng thái cùng lúc. Nếu bạn stage một thay đổi rồi sửa file tiếp, nó xuất hiện cả ở staged lẫn modified.
git status -sb
## main...origin/main [ahead 1]
M src/app.ts # modified, not staged
M src/api.ts # staged
?? notes.txt # untracked
Trong định dạng ngắn, cột đầu là trạng thái index còn cột thứ hai là working tree.
Hãy chạy git status thường xuyên, nhất là trước khi commit, để tránh bất ngờ.
Ý chính
- So sánh working tree, index và commit cuối
- Các trạng thái untracked, modified, staged và unmodified
- Một file có thể vừa staged vừa modified
- Cũng hiển thị branch và số commit ahead hoặc behind
Câu hỏi nối tiếp thường gặp
- Hai cột trong git status -s có nghĩa gì?
- Làm sao để file không còn hiện là untracked?
Lỗi thường gặp
- Cho rằng file đã stage bao gồm các sửa đổi sau git add
- Bỏ qua file untracked và quên commit chúng