Menu
CoddyTech

Git Add

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

git add đưa các thay đổi vào staging area (còn gọi là index) và đánh dấu chúng sẽ có mặt trong commit tiếp theo. Bạn có thể stage một tệp, stage tất cả cùng lúc với git add ., hoặc chọn từng phần thay đổi theo cách tương tác với -p. Staging là bước nằm giữa việc sửa tệp và commit.

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

git add sao chép thay đổi từ working tree vào staging area. Chưa có gì được commit.

Cú pháp

LệnhTác dụng
git add file.txtStage một tệp
git add .Stage mọi thay đổi trong thư mục hiện tại
git add -AStage mọi thay đổi trong toàn bộ repo
git add -pStage từng phần được chọn theo cách tương tác
git add *.jsStage các tệp khớp với một mẫu
git restore --staged file.txtBỏ tệp khỏi staging (vẫn giữ thay đổi)

Tình huống thường gặp

Mục tiêuLệnh
Stage tất cảgit add .
Stage một phần của tệpgit add -p
Bỏ một tệp khỏi staginggit restore --staged file.txt
Xem những gì đã stagegit status

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

git add dùng để làm gì?
Lệnh này stage các thay đổi: chép chúng vào index để chúng có mặt trong commit tiếp theo. Sửa một tệp không tự động stage tệp đó; bạn chạy git add <file> để đánh dấu tệp đã sẵn sàng. Sau đó git commit ghi lại đúng những gì đã được stage. Nhờ staging, bạn có thể commit một phần thay đổi và để phần còn lại cho sau.
git add . và git add -A khác nhau thế nào?
git add . stage các thay đổi trong thư mục hiện tại và các thư mục con, gồm tệp mới, tệp đã sửa và tệp đã xóa. git add -A stage thay đổi trên toàn bộ repository, bất kể bạn đang đứng ở thư mục nào. Ở thư mục gốc của repo, hai lệnh hoạt động giống nhau; chúng chỉ khác nhau khi bạn đang ở một thư mục con.
Làm sao để chỉ stage một phần của tệp?
Dùng git add -p (chế độ patch). Git lần lượt đưa ra từng thay đổi ("hunk") và hỏi bạn có muốn stage nó không, nhờ vậy bạn tách được các chỉnh sửa không liên quan trong cùng một tệp thành những commit riêng. Nhấn y để stage một hunk, n để bỏ qua, s để chia nhỏ hơn nữa.
Làm sao để bỏ một tệp khỏi staging?
Chạy git restore --staged <file> (Git hiện đại) hoặc git reset <file> (phiên bản cũ). Cả hai đều đưa tệp ra khỏi staging area nhưng vẫn giữ nguyên chỉnh sửa của bạn trong working tree, tức là ngược lại với git add.
Có thể luyện tập lệnh này online không?
Có. Mở playground terminal để chạy git add 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 staging và commit từng bước.
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