Trong Git có một lệnh cho phép các lập trình viên ghi những thay đổi của dự án một cách dễ dàng gọi là Git Commit. Vậy chính xác Git Commit là gì? Git Commit được sử dụng như thế nào? Hãy cùng Got It tìm hiểu trong bài viết dưới đây nhé!
- Tìm hiểm thêm: Github dùng để làm gì?
Mục lục
Git Commit là gì?
Git Commit là một lệnh cam kết trong Git, được dùng để lưu lại những thay đổi trong repository bằng các ảnh chụp nhanh (snapshot). Các ảnh snapshot đã cam kết được coi là phiên bản “an toàn” của một dự án vì Git luôn hỏi trước khi thay đổi chúng. Trước khi bắt đầu lệnh Git Commit, lệnh Git Add sẽ được chạy để thúc đẩy các thay đổi của dự án mà sau đó nó sẽ được lưu trữ trong một cam kết (commit).
Commit là những bức ảnh chụp nhanh của dự án. Mọi commit đều được ghi lại trong nhánh chính của repository. Hai commit khác nhau sẽ không bao giờ ghi đè vì mỗi commit có ID riêng. ID của mỗi commit là một số mật mã được tạo bởi thuật toán SHA (Secure Hash Algorithm).
Cách sử dụng lệnh Git Commit
Lệnh Git Commit hoạt động như thế nào?
Để có một cái nhìn đầy đủ về Git Commit thì việc hiểu Git Commit là gì là không đủ. Vì vậy, ở phần này, chúng ta sẽ tiếp tục phân tích cách thức hoạt động của lệnh Git Commit.
Git Commit giống như một nền tảng xây dựng “điểm lưu” để kiểm soát phiên bản trong Git. Ở cấp độ cao, Git có thể được coi là một tiện ích quản lý thời gian của dự án. Trong đó, Git Commit là lệnh cốt lõi để theo dõi tiến trình của dự án trong Git. Các commit được coi là các mốc quan trọng dọc theo dòng thời gian của một dự án Git. Nó giúp nắm bắt trạng thái của một dự án tại thời điểm đó.
Git Snapshots luôn được cam kết với Local repository. Git tạo cơ hội để thu thập các cam kết trong Local repository thay vì thực hiện cam kết ngay lập tức vào repository trung tâm. Điều này thay đổi mô hình phát triển cơ bản cho người dùng Git. Nó giúp dễ dàng hơn trong việc chia một tính năng thành các commit, nhóm các commit liên quan với nhau và xóa lịch sử cục bộ trước khi xuất bản lên repository trung tâm. Nó cũng cho phép các lập trình viên có thể làm việc một cách độc lập.
Các tùy chọn phổ biến
Lệnh Git Commit có một số tùy chọn chính sau:
- git commit: Thao tác này sẽ khởi chạy một trình soạn thảo văn bản nhắc bạn về một thông báo cam kết. Sau khi bạn đã nhập thư, hãy lưu tệp và đóng trình chỉnh sửa để tạo cam kết thực tế.
- git commit -a: Lệnh commit này cung cấp tùy chọn -a để chỉ định một số cam kết. Nó được sử dụng để xác nhận các ảnh chụp nhanh của tất cả các thay đổi. Tùy chọn này chỉ áp dụng với các tệp đã được thêm vào Git. Nó sẽ không commit các tệp mới được tạo.
- git commit -m “commit message”: Tùy chọn cho phép bạn viết thông báo cam kết trên dòng lệnh. Git Commit sẽ mở trình soạn thảo văn bản và nhắc nhập thông báo cam kết.
- git commit -am “commit message”: Kết hợp tùy chọn -a và -m để tạo lệnh commit cho tất cả các thay đổi theo giai đoạn. Với lệnh này, người dùng sẽ nhận thông báo cam kết nội tuyến.
- git commit –amend: Đây là một tùy chọn cho phép chỉnh sửa cam kết cuối cùng. Các thay đổi theo giai đoạn được thêm vào cam kết trước đó. Lệnh này mở trình soạn thảo văn bản đã cấu hình của hệ thống và thay đổi thông báo cam kết đã chỉ định trước đó.
Phân biệt Git Commit so với SVN Commit
Từ khái niệm Git Commit là gì, chúng ta có thể phân biệt được Git Commit với SVN Commit. SVN là một mô hình ứng dụng tập trung trong khi Git là một mô hình ứng dụng phân tán. SVN Commit đẩy các thay đổi từ local client đến một repository tập trung. Còn với Git Commit, ảnh chụp nhanh được cam kết vào Local repository. Các cam kết đó có thể được đẩy đến các Remote repository tùy ý.
Trong khi SVN theo dõi sự khác biệt của một tệp thì Git lại dựa trên ảnh chụp nhanh. Git ghi lại nội dung của tất cả các tệp trong mỗi lần commit. Khi cam kết hoặc lưu trạng thái của dự án, Git sẽ chụp nhanh giao diện tệp hiện tại và lưu trữ một tham chiếu đến ảnh chụp nhanh đó. Nếu không có thay đổi trong tệp, Git sẽ không lưu trữ lại.
Trên đây là một bức tranh khái quát về lệnh Git Commit trong hệ thống kiểm soát phiên bản Git. Got It đã cung cấp cho các bạn một số kiến thức cơ bản như Git Commit là gì, các thao tác commit trong Git. Nếu bạn mới làm quen Git thì hãy dành thời gian tìm hiểu về lệnh Git Commit thú vị này nhé!
Tìm hiểu thêm: