Git Commit
Cập nhật lần cuối
git commit ghi các thay đổi bạn đã stage vào lịch sử dự án thành một commit mới, kèm một message mô tả những gì đã thay đổi. Bạn stage thay đổi trước bằng git add rồi mới commit, hoặc dùng -am để stage các tệp đã theo dõi và commit trong một bước. Mỗi commit là một bản chụp (snapshot) mà bạn có thể quay lại sau này.
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 commit -m "message" | Commit thay đổi đã stage kèm message |
git commit -am "message" | Stage các tệp đã theo dõi và commit trong một bước |
git commit | Commit và mở trình soạn thảo để viết message |
git commit --amend | Sửa commit gần nhất |
git commit -m "title" -m "body" | Commit với tiêu đề và phần nội dung dài hơn |
Tình huống thường gặp
| Mục tiêu | Lệnh |
|---|---|
| Commit mọi tệp đã theo dõi | git commit -am "message" |
| Chỉ commit các tệp đã stage | git commit -m "message" |
| Sửa message của commit cuối | git commit --amend |
| Tạo một commit rỗng | git commit --allow-empty -m "msg" |
Câu hỏi thường gặp về git commit
Làm sao để commit thay đổi trong Git?
git add <file> (hoặc git add . cho tất cả), rồi chạy git commit -m "your message". Commit ghi lại bản chụp của các thay đổi đã stage vào lịch sử. Để stage và commit các tệp đã theo dõi trong một bước, dùng git commit -am "your message".git commit -m và -am khác nhau thế nào?
-m cho phép bạn truyền message ngay trên dòng lệnh để Git không mở trình soạn thảo. -am kết hợp -a (stage mọi tệp đã theo dõi bị sửa hoặc bị xóa) với -m, nên stage và commit chỉ bằng một lệnh. Lưu ý -a không gồm các tệp mới chưa được theo dõi: chúng vẫn cần git add riêng.Làm sao để viết commit message tốt?
-m thứ hai: git commit -m "Add login validation" -m "Prevents empty submissions", hoặc bỏ hẳn -m để viết trong trình soạn thảo.Làm sao để sửa commit cuối?
git commit --amend. Lệnh này mở lại commit gần nhất để bạn sửa message hoặc thêm tệp đã quên stage. Tránh amend commit đã push, vì nó viết lại lịch sử. Xem chi tiết ở trang git commit --amend.Có thể luyện tập lệnh này online không?
git commit 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.