
Hướng dẫn sử dụng Git cơ bản cho dev mới

Nếu bạn mới học lập trình, nhiều khả năng bạn từng đặt tên file kiểu “bai_tap_v2_final” hoặc “bai_tap_v3_thuc_su_cuoi”. Cách này chạy được vài ngày. Đến lần sửa lỗi thứ năm, bạn sẽ không còn biết bản nào mới nhất. Git được tạo ra để quản lý lịch sử thay đổi code một cách có hệ thống. Đây là hướng dẫn sử dụng Git cơ bản cho dev mới học quản lý phiên bản code. Bài viết giúp bạn hiểu Git dùng để làm gì và bắt đầu dùng ngay, mà không cần học thuộc mọi lệnh.
Git là gì và vì sao dev nào cũng cần biết

Git là công cụ quản lý phiên bản code. Nó ghi lại lịch sử thay đổi của từng file theo thời gian. Bạn có thể xem dòng nào được sửa, sửa lúc nào, và quay về bản cũ khi bản mới có lỗi. Với người mới, lợi ích rõ nhất là bạn bớt sợ sửa code. Có lỗi thì lùi lại một bước là xong.
Hầu hết dự án phần mềm hiện nay đều dùng Git. Khi vào nhóm làm việc, bạn gần như chắc chắn sẽ gặp nó. Biết trước sẽ giúp bạn tự tin hơn ngay buổi đầu. Nếu muốn nắm nền tảng và khái niệm, bạn có thể đọc trang giới thiệu Git trên Wikipedia tiếng Việt trước khi đi sâu.
Khác biệt giữa lưu file thủ công và dùng Git
Lưu file thủ công chỉ giữ được những bản bạn nhớ đặt tên. Git thì khác. Mỗi lần commit, toàn bộ trạng thái code tại thời điểm đó được ghi lại. Bạn có thể so sánh hai phiên bản bất kỳ và thấy chính xác dòng nào đã đổi.
Giả sử bạn đang làm bài tập máy tính bỏ túi. Sáng nay bạn thêm phép chia, đến chiều thấy phép cộng cũng chạy sai. Nếu có commit từ sáng, bạn chỉ cần so sánh hai bản để thấy đúng dòng vừa thêm gây lỗi. Không có Git, bạn phải lục lại từng file và thử đoán.
Những lệnh Git cơ bản nên nhớ đầu tiên

Không cần học hết mọi lệnh ngay từ đầu. Bốn lệnh sau đủ để bạn bắt đầu làm việc thoải mái. Bạn gõ chúng trong terminal, ngay trong thư mục dự án.
- git init: khởi tạo một kho Git mới trong thư mục hiện tại.
- git add: chọn những file muốn đưa vào lần commit kế tiếp.
- git commit: lưu lại một phiên bản kèm ghi chú mô tả thay đổi.
- git status: xem file nào đã đổi và file nào đang chờ commit.
Sau khi quen tay, bạn sẽ dùng thêm git push, git pull và git branch. Push đẩy code lên kho từ xa. Pull kéo code mới nhất về máy. Branch tạo một nhánh riêng để thử nghiệm mà không làm rối nhánh chính.
Một vòng làm việc hằng ngày với Git
Vòng làm việc cơ bản thường diễn ra như sau. Bạn sửa code, kiểm tra bằng git status, chọn file bằng git add, rồi commit với ghi chú rõ ràng. Sau đó lặp lại sau mỗi phần việc nhỏ hoàn thành. Thói quen này đơn giản, nhưng luôn cho bạn một điểm quay lại gần nhất.
Khi nào nên commit? Hãy commit khi một việc nhỏ đã chạy đúng. Ví dụ bạn vừa viết xong hàm đọc file, hoặc vừa sửa xong một lỗi hiển thị. Đừng chờ đến cuối tuần mới commit một lần. Commit nhỏ và thường xuyên dễ đọc lại hơn, và dễ gỡ hơn khi có lỗi.
Một việc nên làm sớm là tạo file .gitignore. Đây là nơi bạn liệt kê các file không cần đưa vào Git, như thư mục tạm, file cấu hình cá nhân hoặc file chứa mật khẩu. Thiết lập từ đầu sẽ tránh được việc vô tình đẩy thông tin nhạy cảm lên kho chung.
Lỗi thường gặp khi mới dùng Git

Lỗi phổ biến nhất là ghi chú commit quá chung chung, kiểu “sửa lỗi” hoặc “update”. Vài tuần sau nhìn lại lịch sử, bạn sẽ không nhớ mình đã làm gì. Hãy viết ngắn nhưng nói rõ việc đã đổi, ví dụ “thêm kiểm tra dữ liệu rỗng ở form đăng ký”.
Lỗi thứ hai là commit nhầm file chứa mật khẩu hoặc khóa truy cập. Một khi đã đẩy lên kho chung, việc xóa khỏi lịch sử khá phiền. Vì vậy hãy thiết lập .gitignore ngay khi tạo kho.
Lỗi thứ ba là hoảng khi gặp xung đột lúc gộp nhánh. Thực ra xung đột chỉ là Git hỏi bạn nên giữ đoạn code nào. Bạn mở file, xem phần được đánh dấu, chọn bản đúng rồi commit lại. Nếu còn muốn tìm hiểu các lỗi hay gặp khác, bạn có thể xem những sai lầm hay gặp khi lập trình web và mobile.
Làm việc nhóm với Git khác gì làm một mình

Khi làm một mình, Git chủ yếu giúp bạn giữ lịch sử. Khi làm nhóm, Git còn cho phép nhiều người cùng sửa một dự án mà không ghi đè lên nhau. Mỗi người làm trên một nhánh riêng, rồi gộp vào nhánh chính sau khi xem lại thay đổi.
Nếu nhóm còn hợp tác với đơn vị bên ngoài, quy trình Git càng cần rõ ràng. Ví dụ bạn thuê một đội ngoài thêm tính năng cho dự án web. Trước khi bắt đầu, nên thống nhất nhánh nào dùng cho việc nào, ai được gộp code và kiểm thử ở đâu. Bài checklist kỹ thuật khi hợp tác với một công ty ứng dụng AI cho dự án web có nhắc vài điểm cần thống nhất trước.
Học Git song song với kiến thức lập trình nền tảng

Git không phải ngôn ngữ lập trình. Nhưng bạn sẽ dùng nó gần như mỗi ngày khi đi làm thật. Nếu đang xây nền tảng từ đầu, bạn cũng nên hiểu máy tính chạy code thế nào. Bài sự khác biệt giữa compiler và interpreter cho người mới là chủ đề nền tảng đáng đọc cùng lúc.
Nếu bạn còn phân vân nên học theo trình tự nào, hãy đọc roadmap có sẵn hay tự vạch lộ trình riêng cho sinh viên CNTT. Bài này đặt hai cách học cạnh nhau để bạn tự chọn.
Một ví dụ nhỏ cho thấy giá trị của commit

Giả sử bạn đang viết trang đăng nhập. Phiên bản đầu chạy đúng và bạn đã commit. Sau đó bạn thử thêm kiểu kiểm tra mật khẩu mới, nhưng lỡ xóa nhầm hàm kiểm tra email. Khi nhận ra, bạn xem lại lịch sử, lấy đoạn code cũ từ commit trước rồi dán lại. Không cần gõ lại từ đầu.
Ví dụ này nghe đơn giản, nhưng cho thấy vì sao nên commit đều đặn. Tự trải nghiệm vài lần, bạn sẽ hiểu vì sao giảng viên hay nhắc chuyện này. Nếu muốn xem cách các dự án mã nguồn mở tổ chức lịch sử commit, bạn có thể ghé qua pumacode.org để tham khảo thêm.
Đừng chờ giỏi Git mới bắt đầu dự án
Nhiều người mới trì hoãn vì nghĩ phải thành thạo Git trước. Cách học nhanh nhất là vừa làm vừa dùng. Bắt đầu với vài lệnh cơ bản, tạo kho cho một dự án nhỏ, và commit thường xuyên. Các lệnh nâng cao sẽ tự đến khi bạn gặp tình huống thật.
Bạn cũng nên luyện song song bằng vài công cụ học tập miễn phí. Có thể xem các công cụ học tập miễn phí cho dev mới để chọn thứ hợp với mình. Quan trọng nhất vẫn là bắt đầu một dự án nhỏ của riêng bạn và giữ thói quen commit mỗi ngày.


