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 đọc18 lượt xem
#git#version control#github#lập trình

Git là gì?

Git là công cụ mà hầu hết lập trình viên dùng mỗi ngày — và việc chưa biết Git đang khiến bạn mất nhiều giờ quản lý code không cần thiết. Bài viết này giải thích Git từ con số không, kèm hướng dẫn thực hành để bạn tạo commit đầu tiên ngay hôm nay.

Đị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? 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ó. Nếu thua, bạn load lại từ điểm save đó. Git hoạt động y hệt như vậy — bạn có thể quay lại bất kỳ phiên bản code nào trong lịch sử. Nó giống như Ctrl+Z siêu cấp.

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

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

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 đượ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, quay lại phiên bản trước chỉ mất vài giây.

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

Nhóm 5 người cùng làm một dự án mà 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, xong rồi tự động gộp (merge) lại. An toàn và nhanh hơn nhiều.

Không sợ mất code

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

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

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

Git GitHub
Là gì Phần mềm cài trên máy tính Dịch vụ web trên internet
Làm gì Quản lý phiên bản code Lưu trữ repo + cộng tác + CI/CD
Tạo bởi Linus Torvalds (2005) Tom Preston-Werner (2008)
Dùng offline Không
Miễn phí Hoàn toàn miễn phí Miễn phí (có gói trả phí)

Git là công cụ, GitHub là nơi lưu trữ kết quả trên internet. Không có Git thì không dùng được GitHub — nhưng không có GitHub vẫn dùng được Git.

Tìm hiểu chi tiết hơn tại 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

git --version
# Kết quả ví dụ: git version 2.47.0

Thấy số phiên bản hiện ra là bạn đã cài thành công.

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

Repository (kho chứa code)

Repository (gọi 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 hoàn thành một phần code, bạn "commit" để lưu lại trạng thái đó. Mỗi commit có một message mô tả thay đổi.

Branch (nhánh)

Branch là 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) vào nhánh chính (main). 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ó bước trung gian gọi là staging area:

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

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ả một lúc.

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

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

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á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 cài trên máy. GitHub là dịch vụ web lưu trữ repo 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. Tính năng nâng cao học dần khi dùng thực tế.

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

Trả lời: Có. VS Code tích hợp sẵn Git, ngoài ra có GitHub Desktop, SourceTree. Dù vậy, nên nắm vững 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?

  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ụ lập trình viên dùng mỗi ngày. Bắt đầu từ hôm nay và dần làm quen qua thực hà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.