Chúng ta đã tìm hiểu về các trạng thái khác nhau của file ở đầu module này. Trong bài học này, chúng ta sẽ học cách chuyển đổi giữa các trạng thái của file.
Trước khi một file có thể được quản lý, bạn cần yêu cầu Git bắt đầu theo dõi nó. Về cơ bản:
Khi bạn mới khởi tạo một repository Git, mọi file đều ở trạng thái untracked cho đến khi bạn nói cho Git biết cần theo dõi những file nào.
Để kiểm tra xem trạng thái của các file hiện tại của bạn, dùng lệnh:
git status
Ví dụ 1: Không có file mới hoặc thay đổi: Khi tất cả mọi thứ đều đã được commit, hoặc không có file mới nào xuất hiện, bạn sẽ thấy thông báo tương tự:
On branch main
nothing to commit, working tree clean
main.Ví dụ 2: Có file untracked: Nếu bạn vừa tạo mới một file mà chưa add vào Git, lệnh git status sẽ báo thế này:
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
file_a.txt
nothing added to commit but untracked files present (use "git add" to track)
Ở đây, Git cho bạn biết rằng có một file không được theo dõi tên là file_a.txt. Lúc này, file này chưa nằm trong hệ thống quản lý phiên bản của Git.
Để yêu cầu Git bắt đầu quản lý (track) một file, bạn cần sử dụng lệnh git add kèm tên file muốn theo dõi. Tiếp tục ví dụ trước, để Git bắt đầu theo dõi file_a.txt, bạn chạy:
git add file_a.txt
Sau khi chạy lệnh này, file untracked (file_a.txt) sẽ được chuyển vào staging area. Thao tác này là bước đầu tiên để Git bắt đầu quản lý file.
Để thực sự lưu trạng thái file này vào repository và bắt đầu quản lý phiên bản, bạn cần thực hiện tiếp lệnh git commit:
git commit -m 'Adding file_a to the repository'
Lệnh trên sẽ đóng gói toàn bộ các file đã nằm trong staging area (bao gồm file_a.txt vừa thêm) thành một bản commit và lưu vào repository của bạn. Từ lúc này, các file này đã hoàn toàn được Git quản lý (tracked). Tùy chọn -m dùng để ghi chú lại nội dung thay đổi (commit message) của commit.
Trong thực tế, bạn có thể có rất nhiều file mới chưa được Git quản lý – đặc biệt là ngay sau khi khởi tạo Git trong một thư mục dự án sẵn có. Để yêu cầu Git bắt đầu theo dõi tất cả các file untracked, bạn dùng lệnh:
git add .
Lệnh này sẽ thêm tất cả các file mới (untracked) và các file đã chỉnh sửa vào staging area, chuẩn bị cho lần commit tiếp theo.
Sau khi đã staging tất cả các file, bạn thực hiện commit như bình thường, nhớ thêm commit message bằng tùy chọn -m:
git commit -m 'Initial commit of untracked files'
Như vậy, toàn bộ file mới của bạn sẽ được Git bắt đầu quản lý phiên bản!
Khi bạn chạy git add ., Git không chỉ thêm tất cả file mới (untracked) mà còn tất cả file đã chỉnh sửa (modified) vào staging area. Hãy chắc chắn kiểm tra lại những thay đổi mình muốn commit nhé!
Với git status, ta có thể kiểm tra trạng thái của file trong dự án là tracked hay untracked. Tiếp theo, chúng ta sẽ tiếp tục tìm hiểu về quy trình commit trong Git.
Tiếp theo: Quy trình commit