Cơ bảnKiến thức cơ bản

Git là gì? Hướng dẫn Git cơ bản cho người mới

8 phút đọc1 lượt xem
#git#version control#github#lập trình

Git là gì?

Định nghĩa Git đơn giản

Git là hệ thống quản lý phiên bản phân tán (Distributed Version Control System). Nó được tạo ra bởi Linus Torvalds vào năm 2005 — chính là người đã tạo ra Linux.

Nghe phức tạp đúng không? Hãy hiểu đơn giản thế này:

Git giống như "cỗ máy thời gian" cho code.

Khi chơi game, bạn thường save trước trận boss khó, đúng không? Nếu thua, bạn có thể load lại từ điểm save đó. Git hoạt động y hệt như vậy cho code của bạn — bạn có thể quay lại bất kỳ thời điểm nào. Nó giống như phiên bản Ctrl+Z siêu cấp vậy!

Tại sao cần "quản lý phiên bản"?

Hãy tưởng tượng bạn đang viết báo cáo mà không có Git:

bao-cao_v1.docx
bao-cao_v2.docx
bao-cao_ban-cuoi.docx
bao-cao_ban-cuoi-THAT.docx
bao-cao_ban-cuoi-da-sua.docx
bao-cao_DAY-MOI-LA-BAN-CUOI.docx

Nghe quen không? Với Git, bạn chỉ cần một thư mục duy nhất và Git sẽ tự động quản lý toàn bộ lịch sử thay đổi cho bạn.

Tại sao lập trình viên cần Git?

Quản lý code hiệu quả

Với Git, mọi thay đổi trong code được ghi lại tự động. Bạn biết rõ "ai" đã thay đổi "cái gì" vào "lúc nào". Nếu có lỗi xảy ra, bạn có thể dễ dàng quay lại phiên bản trước đó.

Làm việc nhóm dễ dàng

Hãy tưởng tượng nhóm 5 người cùng làm một dự án. Không có Git, bạn phải gửi file qua Zalo hoặc USB, rồi tự ghép code lại — rất dễ mất code hoặc ghi đè lên nhau.

Với Git, mỗi thành viên làm việc trên phần riêng của mình, xong rồi tự động gộp (merge) lại. An toàn và hiệu quả hơn rất nhiều.

Không sợ mất code

Khi bạn đẩy code lên GitHub (push), code được lưu trữ trên cloud. Dù máy tính bạn hỏng, code vẫn an toàn. Git đóng vai trò backup tự động cho code của bạn.

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

Đây là câu hỏi người mới hay nhầm lẫn nhất. Git và GitHub là hai thứ hoàn toàn khác nhau:

  • Git = Phần mềm (tool) cài trên máy tính — quản lý phiên bản
  • GitHub = Dịch vụ web (platform) — lưu trữ Git repository trên cloud + cộng tác

Nói đơn giản: Git là công cụ, GitHub là nơi lưu trữ kết quả của công cụ đó trên internet.

Tìm hiểu chi tiết hơn tại bài viết GitHub là gì? Khác gì với Git?

Cài đặt Git

Trên Windows

  1. Truy cập git-scm.com
  2. Tải file cài đặt và chạy
  3. Nhấn "Next" theo mặc định là được

Trên macOS

# Cài bằng Homebrew (khuyến nghị)
brew install git

# Hoặc cài qua Xcode Command Line Tools
xcode-select --install

Trên Linux

# Ubuntu/Debian
sudo apt update
sudo apt install git

# Fedora
sudo dnf install git

Kiểm tra cài đặt thành công

# Kiểm tra phiên bản Git
git --version
# Kết quả ví dụ: git version 2.47.0

Nếu thấy số phiên bản hiện ra, bạn đã cài đặt thành công!

Các khái niệm Git cơ bản

Repository (kho chứa code)

Repository (viết tắt: repo) là "kho chứa" toàn bộ code và lịch sử thay đổi của dự án.

  • Local repository: Repo trên máy tính của bạn
  • Remote repository: Repo trên server (ví dụ: GitHub)

Commit (lưu thay đổi)

Commit giống như "điểm save" trong game. Mỗi khi bạn hoàn thành một phần code, bạn "commit" để lưu lại trạng thái đó. Mỗi commit đều có một thông điệp (message) mô tả thay đổi.

Branch (nhánh)

Branch là "nhánh" — bản sao độc lập của code để phát triển tính năng mới. Khi hoàn thành, bạn gộp (merge) nhánh đó vào nhánh chính (main). Nhờ vậy, code chính luôn an toàn trong khi bạn thử nghiệm.

Staging Area (khu vực chuẩn bị)

Git có một bước trung gian gọi là staging area:

Thư mục làm việc → [git add] → Staging Area → [git commit] → Repository

Tại sao không commit thẳng? Vì staging area cho phép bạn chọn lọc những file nào muốn commit, thay vì commit tất cả.

Thực hành: Tạo repository Git đầu tiên

Hãy thực hành ngay! Mở Terminal (hoặc Command Prompt trên Windows) và làm theo từng bước:

Bước 1 — Cấu hình ban đầu

Chỉ cần làm một lần duy nhất:

# Đặt tên của bạn
git config --global user.name "Nguyen Van Minh"

# Đặt email của bạn
git config --global user.email "minh@example.com"

Bước 2 — Tạo repository

# Tạo thư mục mới cho dự án
mkdir du-an-dau-tien
cd du-an-dau-tien

# Khởi tạo Git repository
git init
# Kết quả: Initialized empty Git repository

Bước 3 — Tạo file và commit

# Tạo file README
echo "# Dự án đầu tiên của tôi" > README.md

# Kiểm tra trạng thái — Git phát hiện file mới
git status

# Thêm file vào staging area
git add README.md

# Lưu thay đổi (commit)
git commit -m "Tạo file README cho dự án"

Bước 4 — Xem lịch sử commit

# Xem lịch sử commit
git log

# Kết quả:
# commit abc123... (HEAD -> main)
# Author: Nguyen Van Minh <minh@example.com>
# Date:   Thu Mar 27 10:00:00 2026 +0700
#
#     Tạo file README cho dự án

Chúc mừng! Bạn vừa hoàn thành commit Git đầu tiên của mình.

Các lệnh Git cơ bản cần nhớ

  • git init — Khởi tạo repository mới
  • git status — Kiểm tra trạng thái hiện tại
  • git add — Thêm file vào staging area
  • git commit -m "message" — Lưu thay đổi
  • git log — Xem lịch sử commit
  • git diff — Xem những gì đã thay đổi
  • git clone URL — Sao chép repository từ remote
  • git push — Đẩy code lên remote
  • git pull — Lấy code mới nhất từ remote

Tìm hiểu chi tiết từng lệnh tại Các lệnh Git cơ bản: add, commit, push, pull.

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

Hỏi: Git và GitHub có phải cùng một thứ không?

Trả lời: Không. Git là công cụ quản lý phiên bản. GitHub là dịch vụ web lưu trữ Git repository trên cloud.

Hỏi: Học Git có khó không?

Trả lời: Các lệnh cơ bản (init, add, commit, push, pull) chỉ mất vài ngày để làm quen. Các tính năng nâng cao có thể học dần khi sử dụng.

Hỏi: Có công cụ giao diện (GUI) cho Git không?

Trả lời: Có. VS Code có tích hợp Git, ngoài ra có GitHub Desktop, SourceTree. Tuy nhiên, nên nắm vững các lệnh cơ bản trước.

Hỏi: Không phải lập trình viên có dùng được Git không?

Trả lời: Có. Writer, designer, nhà nghiên cứu — ai cần quản lý phiên bản file đều dùng được Git.

Bước tiếp theo — Học gì sau Git cơ bản?

Sau khi nắm vững Git cơ bản, hãy tiếp tục với:

  1. Tìm hiểu GitHub — Lưu code trên cloud và cộng tác → GitHub là gì? Khác gì với Git?
  2. Học sâu hơn các lệnh Git — Branch, merge, rebase → Các lệnh Git cơ bản: add, commit, push, pull
  3. Học Pull Request — Quy trình làm việc nhóm chuyên nghiệp → Pull Request là gì? Quy trình review code trên GitHub

Git là công cụ mà lập trình viên dùng mỗi ngày. Hãy bắt đầu sử dụng từ hôm nay và dần dần làm quen nhé!

Về tác giả

Ảnh đại diện tác giả Kenji — họa tiết hình học

Kenji

Kỹ sư phần mềm full-stack (Web), hơn 5 năm kinh nghiệm thực tế

  • Python
  • DB
  • Hạ tầng
  • Đào tạo & cố vấn
  • AI

Làm việc cùng đồng nghiệp người Việt, tôi thấy thiếu tài liệu kỹ thuật rõ ràng bằng tiếng Việt. codeahoc là nơi tôi chia sẻ theo hướng thực tế, dễ áp dụng.

Nguyên tắc nội dung

  • Ưu tiên nguồn gốc và góc nhìn từ thực tế triển khai.
  • Nếu có sai sót, nội dung sẽ được cập nhật và sửa kịp thời.
Quảng cáo