search

Tài liệu học Git cho người mới bắt đầu

Tổng hợp tài liệu học Git cho người mới bắt đầu giúp bạn hiểu cách Git quản lý phiên bản mã nguồn, làm quen các lệnh cơ bản và áp dụng vào dự án thực tế. Từ lưu thay đổi bằng commit, tách nhánh để thử nghiệm, đến đẩy mã lên GitLab, mỗi phần đều đi theo hướng thực hành để bạn tự thao tác và kiểm chứng kết quả.

1. Git là gì và vì sao cần học sớm?

Git là hệ thống quản lý phiên bản phân tán. Nó ghi lại lịch sử thay đổi của tệp, cho phép quay lại trạng thái cũ và làm việc song song trên cùng một dự án mà không ghi đè công sức của nhau.

Git giải quyết những vấn đề nào?

Nếu từng đặt tên tệp kiểu baocao_final, baocao_final_2, baocao_final_that_su, bạn đã gặp đúng vấn đề mà Git sinh ra để xử lý. Thay vì nhân bản tệp, Git lưu từng thay đổi kèm thông điệp mô tả, thời điểm và người thực hiện. Khi có lỗi, bạn có thể xem ai sửa gì, sửa khi nào và quay lại bản ổn định gần nhất.

Với làm việc nhóm, Git cho phép mỗi người làm trên nhánh riêng rồi gộp lại sau khi kiểm tra. Đây là nền tảng của hầu hết quy trình phát triển phần mềm hiện nay, kể cả CI/CD và triển khai tự động.

Git, GitHub và GitLab khác nhau thế nào?

Người mới thường nhầm ba khái niệm này:

  • Git là công cụ chạy trên máy bạn, quản lý lịch sử thay đổi.
  • GitHub và GitLab là nền tảng lưu trữ repository trên máy chủ, hỗ trợ cộng tác, review mã và tự động hóa.

Bạn có thể dùng Git hoàn toàn trên máy cá nhân mà không cần tài khoản nào. Nền tảng online chỉ cần khi muốn sao lưu, chia sẻ hoặc làm việc nhóm.

2. Lộ trình học Git: nên học gì trước?

Bảng dưới đây sắp xếp nội dung theo thứ tự nên học. Người mới nên hoàn thành từng giai đoạn trước khi sang giai đoạn kế tiếp, vì phần sau dựa trên phần trước.

Giai đoạn Nội dung chính Lệnh tiêu biểu Tiêu chí hoàn thành
1. Làm quen Cài đặt, cấu hình danh tính, tạo repository git config, git init, git clone Có repository chạy được trên máy
2. Lưu thay đổi Vùng làm việc, staging, commit git status, git add, git commit, git log Tạo được ít nhất 3 commit có thông điệp rõ ràng
3. Hoàn tác Bỏ thay đổi, quay lại phiên bản cũ git restore, git revert, git diff Khôi phục được tệp bị sửa nhầm
4. Nhánh Tạo nhánh, chuyển nhánh, gộp nhánh git branch, git switch, git merge Gộp một nhánh tính năng vào nhánh chính
5. Cộng tác Remote, đẩy và kéo mã, xử lý xung đột git remote, git push, git pull Đẩy mã lên GitLab/GitHub và xử lý được một xung đột
6. Quy trình nhóm Quy ước commit, review, tích hợp CI/CD merge request / pull request Làm được một chu trình nhánh → review → merge

Đừng cố nhớ hết lệnh ngay từ đầu

Git có hàng trăm lệnh, nhưng công việc hằng ngày chỉ xoay quanh khoảng mười lệnh. Hãy nắm vững vòng lặp status → add → commit → push, sau đó mới mở rộng sang nhánh và xử lý xung đột. Khi cần tra cứu nhanh, bạn có thể dùng bài 40 GIT Commands làm tài liệu đối chiếu.

3. Thực hành Git cơ bản từ đầu đến cuối

Phần này đi qua một vòng làm việc hoàn chỉnh trên máy cá nhân. Bạn nên gõ lại từng lệnh thay vì chỉ đọc.

Bước 1: Cài đặt và cấu hình danh tính

Sau khi cài Git, khai báo tên và email. Thông tin này được gắn vào mọi commit bạn tạo:

git config --global user.name "Ten Cua Ban"
git config --global user.email "email@example.com"
git config --list

Dùng lệnh cuối để xác nhận cấu hình đã được ghi nhận.

Bước 2: Tạo repository và commit đầu tiên

mkdir hoc-git && cd hoc-git
git init
echo "# Hoc Git" > README.md
git status
git add README.md
git commit -m "docs: tao README ban dau"
git log --oneline

Hãy chú ý kết quả của git status trước và sau khi add. Tệp đi từ trạng thái untracked sang staged, rồi thành một commit trong lịch sử. Hiểu ba trạng thái này (thư mục làm việc, staging, repository) là chìa khóa để không bị rối ở các bước sau.

Bước 3: Viết thông điệp commit dễ hiểu

Thông điệp tốt cho biết đã thay đổi gì và thuộc loại nào. Nhiều nhóm dùng tiền tố như feat (thêm tính năng), fix (sửa lỗi), docs (tài liệu). Cách viết này giúp đọc lịch sử nhanh hơn, đặc biệt khi dự án có nhiều người cùng tham gia.

Bước 4: Làm việc với nhánh

git switch -c tinh-nang-moi
echo "Noi dung moi" >> README.md
git add README.md
git commit -m "feat: bo sung noi dung moi"
git switch main
git merge tinh-nang-moi

Nhánh cho phép bạn thử nghiệm mà không ảnh hưởng đến nhánh chính. Nếu thử nghiệm không đạt, chỉ cần bỏ nhánh. Nếu đạt, gộp vào bằng merge. Tên nhánh mặc định có thể là main hoặc master tùy cấu hình, nên hãy kiểm tra bằng git branch trước khi gõ lệnh.

Bước 5: Đẩy mã lên remote

Tạo một repository trống trên GitLab hoặc GitHub, sau đó:

git remote add origin 
git push -u origin main

Từ lần sau, bạn chỉ cần git push để đẩy và git pull để lấy thay đổi mới về. Nếu muốn tự dựng GitLab riêng để luyện tập, xem hướng dẫn cài đặt và cấu hình GitLab trên Ubuntu.

4. Lỗi thường gặp và cách xử lý

Hầu hết sự cố của người mới đều có nguyên nhân quen thuộc. Biết trước chúng sẽ giúp bạn bình tĩnh hơn khi gặp.

Quên git add trước khi commit

Triệu chứng: git commit báo không có gì để commit, hoặc commit thiếu tệp. Cách xử lý: chạy git status để xem tệp nào chưa được staged, git add chúng rồi commit lại.

Sửa nhầm tệp và muốn quay lại

Nếu chưa commit, dùng git restore để bỏ thay đổi trong thư mục làm việc. Nếu đã commit, dùng git revert để tạo commit đảo ngược, cách này an toàn vì không viết lại lịch sử đã chia sẻ.

Xung đột khi merge

Xung đột xảy ra khi hai nhánh cùng sửa một vị trí trong tệp. Git đánh dấu vùng xung đột bằng <<<<<<<, =======, >>>>>>>. Hãy mở tệp, chọn nội dung đúng, xóa các dấu đánh dấu, rồi git add và git commit để hoàn tất. Xung đột là chuyện bình thường khi làm nhóm, không phải dấu hiệu bạn làm sai.

Push bị từ chối

Thông thường do remote đã có commit mới mà máy bạn chưa có. Chạy git pull để cập nhật, xử lý xung đột nếu có, rồi push lại. Tránh dùng --force khi chưa hiểu rõ hậu quả, vì nó có thể ghi đè công việc của người khác.

5. Từ Git cơ bản đến quy trình DevOps

Khi đã vững Git, bước tiếp theo tự nhiên là tích hợp nó vào quy trình phát triển và triển khai. Mỗi lần push có thể kích hoạt tự động build, kiểm thử và triển khai. Bài hướng dẫn triển khai CI/CD với GitLab, Maven, Tomcat cho thấy cách nối một repository Git với pipeline hoàn chỉnh, rất phù hợp để luyện tập sau khi hoàn thành các giai đoạn ở mục 2.

Câu hỏi thường gặp

Người mới nên học Git bằng dòng lệnh hay giao diện đồ họa?

Nên bắt đầu bằng dòng lệnh để hiểu rõ từng thao tác làm gì. Giao diện đồ họa tiện hơn về sau, nhưng nếu chưa hiểu nền tảng, bạn sẽ khó xử lý khi công cụ báo lỗi. Sau khi quen lệnh, dùng công cụ đồ họa là lựa chọn thuận tiện, không còn là vấn đề.

Học Git mất bao lâu?

Phần cơ bản (commit, nhánh, push/pull) có thể làm quen trong vài ngày nếu thực hành đều. Phần xử lý xung đột và quy trình nhóm cần thêm thời gian vì chỉ thực sự hiểu khi làm việc trên dự án có nhiều người.

Git và GitLab có phải là một không?

Không. Git là công cụ quản lý phiên bản chạy trên máy bạn. GitLab là nền tảng lưu trữ và cộng tác, sử dụng Git ở phía dưới. Bạn có thể dùng Git mà không cần GitLab.

Lỡ commit nhầm thì làm sao?

Nếu chưa push, bạn có thể sửa commit gần nhất bằng git commit --amend. Nếu đã push, nên dùng git revert để tạo commit đảo ngược thay vì viết lại lịch sử.

Có nên commit mật khẩu hay khóa truy cập vào repository không?

Không. Thông tin nhạy cảm đã vào lịch sử Git rất khó gỡ sạch. Hãy dùng tệp .gitignore để loại trừ tệp cấu hình chứa bí mật và lưu chúng bằng cơ chế quản lý biến môi trường hoặc kho bí mật riêng.

40 GIT Commands

Type Mô tả Khi nào dùng Ví dụ feat Thêm tính năng, tài nguyên hoặc khả năng mới cho hệ thống. Thêm chức năng/tài nguyên...
calendar_today 27/04/2026 Chi tiết arrow_forward

Hướng dẫn cài đặt và cấu hình GitLab trên Ubuntu

GitLab là một nền tảng mã nguồn mở dùng để quản lý mã nguồn thông qua Git, đồng thời cung cấp các tính năng hỗ...
calendar_today 26/01/2026 Chi tiết arrow_forward

[CI/CD] Hướng dẫn triển khai với GitLab, Maven, Tomcat

Bài viết này hướng dẫn cách triển khai CI/CD đơn giản sử dụng GitLab, Maven và Tomcat chi tiết từng bước. Xem thêm: Hướng dẫn...
calendar_today 03/08/2025 Chi tiết arrow_forward