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ì.
Cú pháp
| Lệnh | Tác dụng |
|---|---|
git add file.txt | Stage một tệp |
git add . | Stage mọi thay đổi trong thư mục hiện tại |
git add -A | Stage mọi thay đổi trong toàn bộ repo |
git add -p | Stage từng phần được chọn theo cách tương tác |
git add *.js | Stage các tệp khớp với một mẫu |
git restore --staged file.txt | Bỏ tệp khỏi staging (vẫn giữ thay đổi) |
Tình huống thường gặp
| Mục tiêu | Lệnh |
|---|---|
| Stage tất cả | git add . |
| Stage một phần của tệp | git add -p |
| Bỏ một tệp khỏi staging | git restore --staged file.txt |
| Xem những gì đã stage | git status |
Câu hỏi thường gặp về git add
git add dùng để làm gì?
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?
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?
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?
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.