1. Git là gì?

Githệ thống quản lý phiên bản phân tán (Distributed Version Control System - DVCS) cho phép bạn theo dõi, lưu trữ và quản lý lịch sử thay đổi của mã nguồn.

Git hiện là công cụ quản lý mã phổ biến nhất thế giới và là kỹ năng bắt buộc cho lập trình viên năm 2025.

2. Tại sao nên dùng Git?

1. Theo dõi lịch sử thay đổi

  • Git lưu lại từng phiên bản của file, giúp bạn khôi phục khi xảy ra lỗi.

2. Làm việc nhóm hiệu quả

  • Nhiều người có thể làm cùng một dự án mà không ghi đè code của nhau.

3. Phân nhánh (branch) mạnh mẽ

  • Tạo branch để phát triển tính năng mới mà không ảnh hưởng code gốc.

4. Bảo mật & tin cậy

  • Git lưu trữ dưới dạng hash SHA-1 -> rất khó bị hỏng dữ liệu.

5. Hỗ trợ hệ sinh thái lớn

  • GitHub, GitLab, Bitbucket, Azure DevOps,…

3. Git hoạt động như thế nào?

Git quản lý mã nguồn theo 3 khu vực chính:

Khu vực Mô tả
Working Directory Nơi bạn chỉnh sửa code thực tế
Staging Area Nơi chọn những file sẽ commit
Repository (.git) Lưu lịch sử commit

Quy trình chuẩn:

Edit Code -> Stage -> Commit -> Push lên GitHub

4. Các lệnh Git cơ bản

Khởi tạo Git

git init

Kiểm tra trạng thái

git status

Thêm file vào stage

git add .

Commit

git commit -m "message"

Kết nối remote (GitHub)

git remote add origin <url>

Push lên GitHub

git push -u origin main

Pull code mới nhất

git pull

5. Branch trong Git (Cực quan trọng)

Tạo branch mới:

git branch feature-login

Chuyển branch:

git checkout feature-login

Gộp branch:

git merge feature-login

6. GitHub là gì? Khác Git ở điểm nào?

Git GitHub
Hệ thống quản lý phiên bản Nền tảng lưu trữ repo online
Hoạt động offline Hoạt động online
Dùng qua dòng lệnh Web/app GUI
Không phải mạng xã hội Có tính năng mạng xã hội dev

7. Git Workflow chuẩn năm 2025

Main Branch: Code production

Develop Branch: Code chuẩn bị release

Feature Branch: Mỗi tính năng 1 nhánh

Pull Request (PR): Kiểm tra & review code trước khi merge

Workflow này đang là chuẩn trên GitHub/GitLab.

8. Lộ trình học Git cho người mới năm 2025

  1. Hiểu Git là gì, VCS là gì
  2. Thực hành Git local
  3. Sử dụng GitHub
  4. Branch - Merge - Resolve conflict
  5. Pull Request - Code Review
  6. Git Flow / Trunk Based Development
  7. Sử dụng Git trong CI/CD

9. FAQ – Câu hỏi thường gặp

Git có khó học không?

  • Không. Chỉ cần nắm 10 lệnh cơ bản là dùng được.

Git có cần thiết cho lập trình viên?

  • 100% BẮT BUỘC.

GitHub có phải Git không?

  • Không, GitHub chỉ là "nơi lưu repo". Git mới là công cụ quản lý phiên bản.