Git Commit là gì?
Lệnh git commit
được dùng để ghi lại trạng thái hiện tại của các thay đổi trong repository thông qua việc tạo ra các ảnh chụp nhanh (snapshots). Những ảnh chụp này chính là các mốc lưu trữ “an toàn” của dự án, giúp bạn quay lại phiên bản trước đó khi cần.
Trước khi chạy lệnh git commit
, bạn cần dùng git add
để lựa chọn những tệp đã chỉnh sửa mà bạn muốn đưa vào commit.

Git Commit là một lệnh trong Git để lưu lại những thay đổi trong repository
Mỗi commit là một ảnh chụp snapshot độc lập và được lưu giữ trong nhánh hiện tại của repository. Các commit không ghi đè lên nhau vì mỗi commit được gán một mã định danh duy nhất (hash ID), được sinh ra bằng thuật toán SHA (Secure Hash Algorithm).
Cách sử dụng lệnh Git Commit
Lệnh Git Commit giống như một công cụ đánh dấu các thời điểm quan trọng trong tiến trình phát triển. Nó giúp bạn theo dõi từng thay đổi một cách cụ thể và có hệ thống. Mỗi lần commit là một “cột mốc” phản ánh tình trạng của dự án tại một thời điểm xác định.

Cách Git Commit hoạt động
Các commit sẽ được ghi lại trong repository cục bộ (local), thay vì gửi trực tiếp lên repository chính. Điều này cho phép bạn tự do tổ chức, điều chỉnh hoặc thậm chí xóa các commit trong quá trình làm việc, trước khi chia sẻ với nhóm hoặc đẩy lên repository từ xa (remote).
Việc này giúp bạn dễ dàng phân chia các tính năng thành từng commit nhỏ, sắp xếp lại lịch sử commit hoặc chỉnh sửa trước khi chia sẻ với người khác – rất hữu ích trong môi trường làm việc nhóm.
Một số tùy chọn thường dùng trong Git Commit
Lệnh git commit
đi kèm với nhiều tùy chọn linh hoạt để phù hợp với từng tình huống sử dụng:
-
git commit
Khi chỉ dùng lệnh này, Git sẽ mở trình soạn thảo văn bản mặc định để bạn nhập mô tả chi tiết cho commit. Sau khi lưu và đóng, commit sẽ được tạo.
-
git commit -a
Tùy chọn này sẽ tự động đưa tất cả các tệp đã được theo dõi vào commit, bỏ qua bước git add
. Tuy nhiên, các tệp mới chưa được thêm vào sẽ không được commit.
-
git commit -m "Thông điệp commit"
Cho phép bạn viết thông báo commit ngay trên dòng lệnh thay vì qua trình soạn thảo.
-
git commit -am "Thông điệp commit"
Kết hợp cả hai tùy chọn -a
và -m
, dùng để commit nhanh toàn bộ các thay đổi đã được theo dõi cùng với thông báo.
-
git commit --amend
Sử dụng để chỉnh sửa commit gần nhất. Bạn có thể thay đổi nội dung commit hoặc bổ sung thêm các thay đổi mới vào commit đó.
So sánh giữa Git Commit và SVN Commit
Sự khác biệt giữa Git Commit và SVN Commit bắt nguồn từ mô hình quản lý phiên bản mà hai hệ thống này áp dụng. Git là hệ thống phân tán (distributed), còn SVN là hệ thống tập trung (centralized).

Sự khác biệt giữa hai mô hình
Với SVN, mỗi lần commit sẽ gửi thay đổi trực tiếp từ máy người dùng lên repository trung tâm. Trong khi đó, Git lại ghi nhận các thay đổi vào repository cục bộ, và bạn có thể đẩy các commit này lên nhiều repository từ xa khác nhau sau đó.
Khác với SVN chỉ lưu sự khác biệt của từng tệp, Git sẽ lưu toàn bộ trạng thái tệp dưới dạng ảnh chụp nhanh ở mỗi commit. Khi không có gì thay đổi trong tệp, Git chỉ lưu tham chiếu đến ảnh chụp trước đó mà không cần lưu lại nội dung một lần nữa – giúp tiết kiệm không gian và tối ưu hiệu năng.