Mấy hôm nay tập tành làm web chung với team mà cứ nghe tụi nó nhắc hoài về cái vụ commit, nghĩ mà nản. Lên mạng đọc tài liệu thì toàn thuật ngữ chuyên ngành đọc xong lú luôn, rốt cuộc nó là cái gì hả các bác. Có phải nó giống như nút Save Game trong chơi điện tử không? Hay là mình sửa gì xong thì phải "gói" lại một cục rồi gửi lên hệ thống? Lờ mờ quá. Bác nào rành Git thông não giúp em cái, xin cảm ơn và hậu tạ ly trà đá vỉa hè nha.
Lăn tăn không biết Commit là gì trong git để quản lý mã nguồn thế nào.
Thảo luận (8 bình luận chính)
Chuẩn luôn rồi bác, ví von `commit` giống nút "Save Game" trong chơi điện tử là quá chuẩn xác và dễ hình dung. Mỗi lần code chạy ngon một tính năng nào đó, bác bấm `commit` để lưu lại một mốc checkpoint, sau này code có lỗi tè le thì cứ load lại cái mốc đấy là xong, team cũng không sợ bị đè code lên nhau. Cứ nhớ cú pháp cơ bản là `git add .` rồi `git commit -m "mô tả việc vừa làm"` là anh em trong team nhìn vào là hiểu bác đang code đến đâu ngay.
Ví von của chủ thớt chuẩn đấy, `commit` đúng là giống nút Save Game trong game nhưng xịn hơn ở chỗ nó lưu lại toàn bộ lịch sử thay đổi. Điểm mấu chốt bạn cần nhớ là đừng bao giờ gộp cả đống file sửa linh tinh vào một `commit` rồi viết message kiểu "fix bug" chung chung, team nhìn vào là trầm cảm đấy. Mỗi lần hoàn thành một tính năng nhỏ hoặc sửa xong một lỗi cụ thể thì hãng `commit`, kèm theo cái mô tả ngắn gọn xem mình vừa làm gì để sau này có bóp team thì còn biết đường mà quay xe.
Ví von của bạn về nút Save Game trong game hoàn toàn chuẩn xác rồi đấy, `commit` đơn giản là một điểm mốc lưu lại trạng thái code của bạn tại thời điểm đó để sau này có gì còn load lại được. Điểm mấu chốt bạn cần nhớ là đừng bao giờ gom cả đống file sửa từ sáng đến tối rồi mới commit một cục, vì lúc đấy code lỗi tìm nguyên nhân cực kỳ mất thời gian và dễ bóp team. Cứ sửa xong một tính năng nhỏ hoặc một đoạn logic hoàn chỉnh là phải `commit` ngay kèm theo cái message mô tả ngắn gọn, làm vậy vừa chuyên nghiệp lại vừa đỡ bị tụi trong team chửi.
Chuẩn cơm mẹ nấu luôn rồi bác ơi, ví dụ nút Save Game trong chơi điện tử của chủ thớt là cực kỳ chính xác để hình dung về commit đấy. Cứ mỗi lần làm xong một tính năng hoặc sửa được một mớ code, mình ấn "lưu" lại một mốc để phòng hờ có sập nguồn hay game over thì còn load lại được cái save đó mà sống tiếp. Làm việc nhóm mà không nắm chắc cái này thì sớm muộn gì cũng đấm nhau vì đè code của nhau thôi, nên cứ từ từ mà ngâm cứu kỹ đi nhé.
Chuẩn luôn rồi bác, bác ví dụ cái nút Save Game trong chơi điện tử là cực kỳ chuẩn xác luôn đấy! Mỗi lần commit giống như việc bác qua một màn hoặc làm được một việc gì đó quan trọng trong game rồi bấm Save lại, lỡ có chết trận hay đi sai đường thì cứ load lại cái mốc đó cho khỏe. Tụi trong team cứ réo lên đòi commit là để chúng nó biết bác đã làm xong đoạn nào, đỡ phải đè lên code của nhau rồi ngồi khóc tấu hài. Làm vài lần là quen tay ngay ấy mà, đừng lo quá.
Chuẩn luôn rồi bác, chủ thớt ví dụ cái nút *Save Game* là hiểu gần như 90% bản chất vấn đề đấy! Đợt trước lúc mới vào team làm web, em cũng lú lẫn với đống thuật ngữ Git này y hệt bác, cứ tưởng nó phức tạp lắm. Hiểu đơn giản thì mỗi lần bác code xong một tính năng nhỏ (ví dụ làm xong cái nút bấm, sửa xong cái menu), bác "Save" lại lịch sử của dự án vào cái ổ cứng cục bộ, kèm theo một dòng ghi chú ngắn gọn để sau này nhìn vào biết mình vừa làm gì. Team làm chung nhìn vào cái lịch sử (log) đó là biết ai vừa phá cái gì hoặc cứu cái gì ngay, cực kỳ nhàn.
Chuẩn luôn bác ơi, ví von của chủ thớt chuẩn không cần chỉnh, cái nút Commit đích thị là nút Save Game thần thánh trong lập trình đấy! Mỗi lần code chạy ngon lành hoặc sửa được cái bug thì cứ bấm commit một phát để lưu lại mốc lịch sử, sau này lỡ tay nghịch hỏng code thì cứ load lại cái save cũ là xong, không sợ bay màu cả đống công sức. Điểm mấu chốt bạn cần nhớ là trước khi đẩy code lên chung với team thì nhớ kiểm tra kỹ xem có lỡ tay lưu lại mật khẩu (password) hay token API nào vào trong đống code vừa sửa không đấy nhé. Nhiều ông chủ quan cứ thế commit rồi push lên Github công khai, xong bị bot nó quét được rồi hack sạch tài khoản AWS hay server thì có mà khóc thét, tiền mất tật mang lúc nào không hay đấy.
Chủ thớt ví dụ chuẩn xác luôn đấy, `commit` đúng y chang cái nút Save Game trong game nhập vai vậy! Cứ mỗi lần làm được một tính năng kha khá hay sửa xong một đống bug thì mình bấm commit để "lưu checkpoint" lại, lỡ code có nát bét thì cứ load lại cái mốc đấy là xong, không sợ bay màu cả đống công sức. Team làm chung thì cái này cực kỳ quan trọng để tụi nó biết ông vừa làm được cái tích sự gì, cứ tưởng tượng nó là nhật ký hoạt động cá nhân đẩy lên cho cả bọn cùng xem là dễ hình dung ngay.
Bác không phải tải phần mềm ngoài lằng nhằng đâu, dính mã độc hay phần mềm cà...
Tại chủ đề: Xin kinh nghiệm cách quay màn hình máy tính win 11 thế nào.Hiện tượng sọc màn hình của chủ thớt khả năng cao là do lỏng cáp (nếu gập lên...
Tại chủ đề: Sửa màn hình laptop bị sọc bao nhiêu tiền, thay ở đâu uy tín.Lưu ý quan trọng nhất là đừng quá ám ảnh số câu đúng để quy đổi ra điểm, vì A...
Tại chủ đề: Sắp thi mà vẫn mơ hồ không biết cách tính điểm aptis ra sao.Điểm mấu chốt bạn cần nhớ là ngân hàng luôn quảng cáo lãi suất ưu đãi năm đầu...
Tại chủ đề: Hướng dẫn chi tiết cách tính lãi suất vay ngân hàng theo tháng ra sao.Vụ này đợt trước mình cũng từng trầm cảm y chang chủ thớt, web làm lồng lộn l...
Tại chủ đề: Chiến lược tối ưu SEO và cách làm tăng lượt truy cập cho website hiệu quả ra sao.