Nó được sử dụng để ghi lại những thay đổi trong kho lưu trữ. Đây là lệnh tiếp theo sau lệnh git add . Mọi commit đều chứa dữ liệu chỉ mục(trong khu vực dàn dựng) và tin nhắn commit. Mọi commit đều tạo thành một mối quan hệ cha-con. Khi chúng ta thêm một file trong Git, nó sẽ diễn ra trong khu vực dàn dựng. Lệnh commit được sử dụng để tìm nạp(fetch) các bản cập nhật từ khu vực dàn dựng vào kho lưu trữ.
Việc dàn dựng và commit có liên quan đến nhau. Staging cho phép chúng ta tiếp tục thực hiện các thay đổi đối với kho lưu trữ và khi chúng ta muốn chia sẻ những thay đổi này với hệ thống kiểm soát phiên bản, việc commit cho phép chúng ta ghi lại những thay đổi này.
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 kho lưu trữ. Chúng ta có thể gọi lại các commit hoặc hoàn lại nó về phiên bản cũ hơn. Hai commit khác nhau sẽ không bao giờ ghi đè vì mỗi commit có id commit riêng. Id commit này là một số mật mã được tạo bởi thuật toán SHA (Thuật toán băm an toàn) .
Ace nào mơ hồ về vùng dàn dựng or index, có thể tham khảo trong series này nhé.
Hãy cùng xem các loại commit khác nhau.
Nội dung chính
1. Lệnh git commit
Lệnh commit sẽ thực hiện các thay đổi và tạo một id commit. Lệnh commit không có bất kỳ đối số nào, nó sẽ mở trình soạn thảo văn bản mặc định và yêu cầu nhập tin nhắn commit. Chúng ta có thể chỉ định thông điệp commit của mình trong trình soạn thảo văn bản này. Nó sẽ chạy như sau:
git commit
Lệnh trên sẽ nhắc một trình soạn thảo mặc định và yêu cầu một tin nhắn commit. Chúng ta đã thực hiện một thay đổi đối với newfile1.txt và muốn nó commit. Nó có thể được thực hiện như sau:
Chúng ta chạy lệnh: git commit
Khi chúng ta chạy lệnh, nó sẽ nhắc một trình soạn thảo văn bản mặc định và yêu cầu một tin nhắn commit. Trình soạn thảo văn bản sẽ giống như sau:
Nhấn phím Esc và sau đó nhấn ‘ I ‘ cho chế độ chèn. Nhập tin nhắn commit bất cứ điều gì bạn muốn. Nhấn Esc sau đó ‘ : wq ‘ để lưu và thoát khỏi trình chỉnh sửa. Do đó, chúng ta đã thực hiện thành công một commit.
Chúng ta có thể kiểm tra commit bằng lệnh git log. Hãy xem xét đầu ra dưới đây:
Chúng ta có thể thấy trong đầu ra ở trên rằng tùy chọn nhật ký đang hiển thị commit-id, chi tiết tác giả, ngày và giờ và thông báo commit.
Để biết thêm về tùy chọn nhật ký, hãy truy cập Git Log trong series này.
2. Git commit -a
Lệnh commit cũng cung cấp tùy chọn -a để chỉ định một số commit. 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ỉ xem xét các file đã được thêm vào Git. Nó sẽ không commit các file mới được tạo. Hãy xem xét kịch bản dưới đây:
Chúng ta đã thực hiện một số cập nhật cho file newfile2 đã được sắp xếp vào khu dàn dựng của chúng ta và tạo file newfile4.txt. Kiểm tra trạng thái của kho lưu trữ và chạy lệnh commit như sau:
git commit -a
Xem xét đầu ra:
Lệnh trên sẽ nhắc trình soạn thảo văn bản mặc định của chúng ta và yêu cầu tin nhắn commit. Nhập tin nhắn commit, sau đó lưu và thoát khỏi trình chỉnh sửa. Quá trình này chỉ commit các file đã được thêm vào. Nó sẽ không commit các file chưa được thêm vào dàn dựng. Hãy xem xét đầu ra dưới đây:
Như chúng ta có thể thấy trong đầu ra ở trên, newfile4.txt chưa được commit.
3. Git commit -m
Tùy chọn -m của lệnh commit cho phép bạn viết tin nhắn commit trên dòng lệnh. Lệnh này sẽ không nhắc trình soạn thảo văn bản. Nó sẽ chạy như sau:
git commit -m "Tin nhắn commit."
Lệnh trên sẽ thực hiện một commit với tin nhắn commit đã cho. Hãy xem xét đầu ra dưới đây:
Trong đầu ra ở trên, một newfile4.txt được commit với kho lưu trữ của chúng ta với một tin nhắn commit.
Chúng ta cũng có thể sử dụng tùy chọn -am cho các file đã được cho vào vùng dàn dựng. Lệnh này sẽ ngay lập tức thực hiện một commit cho các file đã được dàn dựng với một tin nhắn commit. Nó sẽ chạy như sau:
git commit -am "tin nhắn commit."
4. Sửa đổi Git commit (Thay đổi tin nhắn commit)
Tùy chọn sửa đổi cho phép chúng ta chỉnh sửa commit cuối cùng. Nếu vô tình, chúng ta đã thực hiện một tin nhắn commit sai, thì tính năng này là một lựa chọn dã man cho chúng ta. Nó sẽ chạy như sau:
git commit -amend
Lệnh trên sẽ nhắc trình soạn thảo văn bản mặc định và cho phép chúng ta chỉnh sửa tin nhắn commit.
Chúng ta có thể cần một số thao tác thiết yếu khác liên quan đến commit như hoàn lại commit, hoàn lại commit, v.v. nhưng những thao tác này không phải là một phần của lệnh commit. Chúng ta có thể làm điều đó với các lệnh khác. Một số thao tác cần thiết như sau:
- Git hoàn lại commit: Truy cập git reset
- Hoàn lại Git commit: Truy cập git revert
- git remove commit: Truy cập git rm
Các bước trên đều có trong series tự học git phần hoàn lại.
Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.
Tài liệu từ cafedev:
- Full series tự học Git từ cơ bản tới nâng cao tại đây nha.
- Ebook về Git tại đây.
- Các nguồn kiến thức MIỄN PHÍ VÔ GIÁ từ cafedev tại đây
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!