↔ Vuốt ngang hoặc nhấn phím mũi tên ← → để lật từ mới(78/466)

Commit

Cấp 1 (Sống còn)
Ảnh minh họa khái niệm Commit

📌 ĐỊNH NGHĨA 1 CÂU

Trong Git, "commit" là hành động lưu lại một 'ảnh chụp' trạng thái mã nguồn hiện tại cùng thông điệp mô tả, tạo một mốc lịch sử quan trọng có thể quay về.

🎭

Ví von trực quan

Nó giống như việc bạn đóng dấu 'Đã Lưu' vào một bản thiết kế quan trọng, ghi rõ 'Phiên bản 1.0 - Đã thêm tính năng X', để sau này có thể quay lại đúng khoảnh khắc đó mà không cần lục lọi.

Giải thích đầy đủ

Anh em lập trình viên, nghe cho kỹ này! Khi làm việc với Git, có một từ mà anh em sẽ gặp đi gặp lại, đó là commit. Đơn giản mà nói, commit chính là hành động 'bấm Save' trong thế giới của Git, nhưng nó xịn sò hơn nhiều.

Khi bạn commit, bạn đang bảo thằng Git rằng: 'Này, chụp cho tao cái ảnh của toàn bộ code hiện tại đi, và ghi chú lại là tao vừa làm cái gì'. Mỗi cái commit này sẽ tạo ra một 'mốc' trong lịch sử dự án của anh em, một điểm mà sau này có thể quay về bất cứ lúc nào.

Tại sao nó quan trọng?

Thử tưởng tượng anh em đang làm một dự án lớn, code cả ngày trời mà không lưu lại gì. Lỡ máy tính sập, mất điện, hay đơn giản là anh em lỡ tay xóa nhầm file quan trọng thì sao? Toang! Commit chính là cái phao cứu sinh của anh em đó. Nó mang lại:

  • An toàn tuyệt đối: Mỗi commit là một bản sao lưu. Lỡ có gì sai, anh em có thể 'quay ngược thời gian' về một commit trước đó.
  • Theo dõi lịch sử: Nhìn vào chuỗi commit, anh em biết được ai đã làm gì, khi nào, và tại sao. Cực kỳ hữu ích khi debug hoặc review code.
  • Hợp tác dễ dàng: Khi làm việc nhóm, commit giúp mọi người đồng bộ code, tránh giẫm chân lên nhau và dễ dàng tích hợp các thay đổi.
  • Cách hoạt động chi tiết

    Để tạo một commit, anh em thường trải qua hai bước chính:

    1. `git add <tên_file>` (hoặc git add .): Bước này gọi là 'staging'. Anh em chọn ra những file mà mình muốn đưa vào 'ảnh chụp' lần này. Giống như việc anh em xếp những món đồ muốn chụp vào khung hình vậy.

    2. `git commit -m "Thông điệp commit của bạn"`: Sau khi đã 'xếp đồ' xong, anh em dùng lệnh này để chính thức chụp ảnh và lưu lại. Cái -m là viết tắt của 'message', nơi anh em ghi chú lại mình vừa làm gì. Thông điệp này cực kỳ quan trọng, đừng có mà ghi bừa!

    Ví dụ thực chiến

    Một thông điệp commit tốt phải rõ ràng, ngắn gọn và mô tả chính xác những gì đã thay đổi. Ví dụ:

  • Tốt: feat: Thêm chức năng đăng nhập bằng Google (Rõ ràng, biết ngay là thêm tính năng gì)
  • Tốt: fix: Sửa lỗi hiển thị giỏ hàng khi không có sản phẩm (Biết ngay là sửa lỗi gì, ở đâu)
  • Tệ: update code (Update cái gì? Code nào? Không ai hiểu)
  • Tệ: fix bug (Bug nào? Fix ở đâu? Không có thông tin gì cả)
  • Những lưu ý & lỗi thường gặp

  • Commit thường xuyên: Đừng đợi đến cuối ngày mới commit một cục khổng lồ. Hãy commit mỗi khi anh em hoàn thành một tác vụ nhỏ, gọn gàng. Ví dụ: xong chức năng đăng nhập, commit; sửa xong lỗi hiển thị, commit.
  • Commit nhỏ, rõ ràng: Mỗi commit chỉ nên tập trung vào một thay đổi duy nhất. Nếu anh em vừa sửa lỗi, vừa thêm tính năng, hãy tách ra thành hai commit riêng biệt. Điều này giúp việc review code và quay về các phiên bản cũ dễ dàng hơn rất nhiều.
  • Thông điệp commit phải có tâm: Đây là 'lời nhắn nhủ' của anh em cho chính mình và đồng đội trong tương lai. Một thông điệp tốt giúp tiết kiệm rất nhiều thời gian khi cần tìm hiểu lịch sử dự án.
  • Đừng commit code lỗi: Đảm bảo code của anh em chạy được và không có lỗi nghiêm trọng trước khi commit. Tránh đẩy những bản commit 'phá hoại' lên kho chung nhé!