Skip to content

Git Internals - Under the Hood 🔬

ROLE: HPN (Architecture Deep-Dive) & Engineer HPN (Low-Level Mastery).
AUDIENCE: Senior Engineers. Muốn hiểu Git thực sự hoạt động thế nào.

Bạn dùng Git mỗi ngày. Nhưng bạn có thực sự hiểu chuyện gì xảy ra khi bạn git commit? Module này sẽ mở hộp đen .git/ và khám phá kiến trúc thiên tài đằng sau version control system phổ biến nhất thế giới.


🎯 Mục tiêu

Sau module này, bạn sẽ:

  • Hiểu cấu trúc thư mục .git/ và vai trò của từng thành phần
  • Nắm vững Data Model: Blob, Tree, Commit
  • Hiểu tại sao Git là một Directed Acyclic Graph (DAG)
  • Biết tại sao checkout, reset, branch đều chỉ là di chuyển con trỏ

📚 Nội dung

🔍 The .git Directory

Mọi thứ Git cần đều nằm trong một thư mục duy nhất.

🧬 The Data Model

Ba object types tạo nên toàn bộ Git.

🕸️ The DAG Architecture

Tại sao Git được gọi là "Directed Acyclic Graph".

  • Git as a DAG - Refs chỉ là con trỏ, và tại sao điều này quan trọng

🚀 Quick Insight

bash
# Xem nội dung một object bằng SHA-1
git cat-file -p <sha1>

# Xem loại object
git cat-file -t <sha1>

# Liệt kê tất cả objects
find .git/objects -type f

# Xem commit tree
git log --graph --oneline --all

💡 Triết lý

HPN'S INSIGHT

"Git không lưu diff. Git lưu snapshot. Hiểu điều này thay đổi cách bạn nghĩ về version control."

SENIOR ENGINEER PERSPECTIVE

Hầu hết lập trình viên chỉ học cách dùng Git. Những kỹ sư xuất sắc học cách Git hoạt động. Sự khác biệt này giúp bạn debug bất kỳ tình huống nào thay vì chỉ copy-paste lệnh từ Stack Overflow.