Git - Commit căn bản
Trước khi chuyển đổi sang branch khác thì bạn nên lưu lại tất cả những gì đã làm bằng lệnh commit. Nếu bạn không commit thì sau khi chuyển sang branch khác những thay đổi của bạn sẽ không được lưu lại trong history và sau này bạn không thể rollback lại được.
Lưu ý: Vì mình sẽ trình bày về commit ở một bài khác nên trong bài này mình chỉ hướng dẫn sơ lược đủ để phục vụ cho các bài trong phần này thôi nhé.
1. Git commit branch
Để lưu lại những gì đã làm vào branch thì bạn sử dụng lệnh commit với cú pháp như sau:
git commit -m "message"
Bài viết này được đăng tại [free tuts .net]
Trong đó message là tin nhắn bạn muốn lưu cho lần commit đó. Ví dụ sau khi sửa xong chức năng đăng nhập thì bạn sẽ commit với nội dung như sau:
git commit -m "Sua phan dang nhap"
Trước khi commit
Trước khi commit thì bạn phải sử dụng lệnh git add <file_name>
để khai báo là sẽ commit file này, trường hợp bạn muốn commit tất cả các file có thay đổi thì sử dụng lệnh git commit .
.
Ví dụ: Mình sửa file demo.txt
và muốn commit nó lên thì thực hiện các bước như sau:
git add demo.txt git commit -m "Thay doi file demo.txt"
Xem hình để hiểu rõ hơn.
Thực hành
Bạn hãy tạo một file tên là freetuts.txt
với nội dung như sau:
Welcome to Freetuts.net
Bây giờ mình cần sử dụng file này ở branch task2, lúc này các bước để commit như sau:
git checkout task2 git add freetuts.txt git commit -m "Them file freetuts.txt"
Kết quả như hình:
Minh chứng 2 branch tách biệt nhau
Ở các bài trước mình có nói là mỗi branch sẽ tách biệt nhau, và để minh chứng điều đó thì mình sẽ đưa ra một ví dụ.
Tại branch task1 bạn hãy tạo một file file1.txt
, sau đó thực hiện thao tác commit. Tiếp theo bạn chuyển sang branch task2 thì lập tức file1.txt
sẽ biến mất vì task2 không hề tồn tại file1.txt
. Nhưng khi bạn chuyển sang lại branch task1 thì lập tức file đó lại xuất hiện.
3. Lời kết
Như vậy mỗi khi làm việc xong thì ta sẽ phải thực hiện commit thì Git mới ghi nhận lại lịch sử, từ đó dựa vào chỉ số lữu trữ thì sau này. Bài này mình chỉ trình bày sơ lượt nên không nói đến khái niệm HEAD, STASH ... mình sẽ trình bày chi tiết hơn về commit ở một chương khác.