Lệnh git add thêm file/thư mục vào khu vực staging (staging area). File trong staging area là file bạn muốn đưa vào commit tiếp theo. git add không sửa đổi kho hoặc file.
Git không có tính năng "save" đơn giản. Git dùng quy trình committing: tạo bản ghi tất cả thay đổi file kể từ commit cuối.
Quy trình gồm vài thao tác dòng lệnh. Bước đầu lưu thay đổi file/thư mục vào kho Git là dùng git add. Lệnh chọn file muốn commit bằng cách đưa thư mục vào staging area.
Hướng dẫn này trình bày, kèm ví dụ, cách dùng git add chọn file commit vào kho. Sau khi đọc, bạn sẽ thành thạo git add.
Lưu file trong Git
Khi save file trên máy, thay đổi lưu local. Ví dụ: save Word document, máy lưu phiên bản mới.
Git dùng cách khác. Save file trong dự án → thay đổi lưu trên máy. Nhưng để kho Git phản ánh thay đổi, phải commit thay đổi vào kho. Flowchart minh họa:
Sau khi sửa file từ kho Git, chính kho không thay đổi trừ khi qua các bước này. Máy lưu phiên bản file mới, nhưng kho chính (thường trên server khác) không đổi. Git không theo dõi thay đổi cho đến khi commit file cập nhật.
Quy trình thay đổi file/thư mục trong kho Git:
- Trên máy, cập nhật file/thư mục trong kho Git.
- Dùng git add đưa thay đổi vào staging area.
- Dùng git commit chuyển thay đổi từ staging area vào commit.
- Dùng git push đẩy thay đổi lên kho chính.
Để save file trong Git, cần git add và git commit. Hướng dẫn này tập trung vào git add.
Lệnh git add là gì?
Lệnh git add thêm file vào Git staging area. Khu vực này chứa danh sách file vừa thay đổi. Kho sẽ cập nhật khi bạn tạo commit với thay đổi đó.
Do đó, chạy git add không thay đổi công việc trong kho Git. Thay đổi chỉ xảy ra khi chạy git commit.
Cú pháp:
git add tenFile
File chỉ định có thể là bất kỳ file/thư mục nào trong kho Git.
Ví dụ: add file README.md vào staging area để commit lên kho chính:
git add README.md
Thêm tất cả file/thư mục đã cập nhật từ kho:
git add --all
Lệnh thêm mọi thay đổi file/thư mục vào staging area.
Sau khi add file vào staging area, tiến hành commit bằng git commit (xem hướng dẫn git commit).
Git Add All Files
Thêm tất cả file trong kho vào staging area bằng git add -A hoặc git add ..
Cờ -A = thêm tất cả file. Viết tắt của --all. Thêm tất cả thay đổi:
git add -A
Staging area giờ chứa tất cả thay đổi file.
Cũng dùng git add . – thêm tất cả file trong thư mục đang xem vào staging area.
Để git add . thêm tất cả file, phải ở thư mục root (thư mục chính chứa toàn bộ code).
git add .
Git Staging Area
Staging area là tính năng độc đáo của Git. Đóng vai trò buffer giữa thay đổi code chưa lưu và lịch sử dự án.
Staging area hữu ích: cho phép sửa file trong kho mà không thực sự thay đổi kho. Sửa file local, sau đó commit vào kho.
Trường hợp dùng: sửa nhiều file, muốn tách thành nhiều commit. Tránh push quá nhiều thay đổi cùng lúc (bad practice – khó track thay đổi giữa commit).
Dùng git add chọn lọc file cho commit. Version control tạo commit dễ track. Commit dễ track giúp developer tìm nguồn gốc bug khi xảy ra.
Kết luận
git add là lệnh đầu tiên trong chuỗi thao tác save thay đổi vào kho Git. Lệnh gửi thay đổi vào staging area. Sau đó dùng git commit commit vào kho chính.
Hướng dẫn trình bày, kèm ví dụ, cách dùng git add thêm file/thư mục vào Git staging area. Bạn đã sẵn sàng dùng git add như lập trình viên chuyên nghiệp!