Menu
CoddyTech

Git Status

Cập nhật lần cuối

git status cho biết trạng thái của working tree: tệp nào đã được stage cho commit tiếp theo, tệp nào đã sửa nhưng chưa stage, và tệp nào untracked. Lệnh này còn cho biết bạn đang ở nhánh nào và đi trước hay đi sau upstream bao nhiêu. Đây là lệnh bạn chạy thường xuyên nhất để nắm tình hình.

Bạn có thể thử các lệnh này trong terminal playground: một shell thật ngay trên trình duyệt, không cần cài đặt gì.

git status chia các tệp của bạn thành staged (A), modified (M) và untracked (??) trước khi bạn commit.

Cú pháp

LệnhTác dụng
git statusTrạng thái đầy đủ của working tree và nhánh
git status -sĐịnh dạng ngắn gọn, mỗi tệp một dòng
git status -sbĐịnh dạng ngắn kèm dòng thông tin nhánh
git status --ignoredHiện cả các tệp bị .gitignore bỏ qua

Đọc định dạng ngắn

Trong git status -s, hai cột lần lượt là staged / unstaged.

Ký hiệuÝ nghĩa
MĐã sửa
AĐã thêm (tệp mới đã stage)
DĐã xóa
??Untracked

Câu hỏi thường gặp về git status

git status hiển thị gì?

Lệnh này liệt kê các tệp đã stage cho commit tiếp theo, các tệp đã sửa nhưng chưa stage, và các tệp Git hoàn toàn chưa theo dõi (untracked). Nó cũng hiện nhánh hiện tại và cho biết nhánh đang đi trước hay đi sau remote. Lệnh không thay đổi gì cả, chỉ để xem thông tin.

git status và git status -s khác nhau thế nào?
git status thông thường cho một danh sách chi tiết, có giải thích, nhóm theo trạng thái. git status -s (short) in mỗi tệp trên một dòng gọn với hai cột trạng thái, cột trái cho vùng staging, cột phải cho working tree, giúp bạn lướt nhanh hơn khi đã quen các ký hiệu.
Đọc hai cột trong git status -s thế nào?
Cột thứ nhất là trạng thái staged của tệp, cột thứ hai là trạng thái unstaged (trong working tree). Ví dụ M nghĩa là đã sửa và đã stage, M nghĩa là đã sửa nhưng chưa stage, MM là cả hai, còn ?? là untracked. A là tệp mới vừa được stage và D là tệp bị xóa.
Vì sao git status không hiện thay đổi của tệp mới tạo?
Một tệp hoàn toàn mới hiện là untracked (??): Git chưa theo dõi nó, nên báo cả tệp là mới thay vì hiện diff. Khi bạn git add tệp, status sẽ hiện nó là đã stage. Tệp untracked cũng không được đưa vào git commit -a.
Có thể luyện tập lệnh này online không?
Có. Mở terminal playground để chạy git status trong một shell thật ngay trên trình duyệt, không cần cài đặt gì. Khóa học Git tương tác miễn phí của Coddy cũng hướng dẫn từng bước quy trình làm việc với Git hằng ngày.
Hình minh họa các ngôn ngữ lập trình của Coddy

Học Git cùng Coddy

Bắt đầu